From c0b679c291cc2e4e292730201c98271886883c4b Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 001/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From 72a64e0fe1fce956a48a6a5f22cc67419b107da3 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 002/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From e20389df9b07bd257e1d1d88839cc5c344c7783e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 003/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index 983a999df..48327b9c6 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index 5733624ba..9214f6b34 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From e981c9d7862ca6d195d75f5d757e2b6d9523c1e4 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 13 Feb 2024 16:24:22 +0100 Subject: [PATCH 004/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 - packages/client/src/schema/cache.ts | 53 - packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 - packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 382 - packages/plugin-client-cache/package.json | 33 - .../plugin-client-cache/rollup.config.mjs | 29 - packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 - packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 306 - .../plugin-client-cloudflare/package.json | 28 - .../rollup.config.mjs | 29 - .../plugin-client-cloudflare/src/cache.ts | 88 - .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 - pnpm-lock.yaml | 8436 +++++++---------- test/integration/cache.test.ts | 113 - test/utils/setup.ts | 7 +- 27 files changed, 3213 insertions(+), 6530 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 8be4c9b8f..66670b515 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -50,7 +48,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -99,7 +96,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -139,7 +135,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 78052153b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,382 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index b9c77eef1..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 642f71072..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,306 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 52d402c9a..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.44", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240314.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d91f4480..358c783d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@babel/core': @@ -387,25 +388,6 @@ importers: specifier: ^4.7.1 version: 4.7.1 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240314.0 - version: 4.20240314.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -464,23 +446,21 @@ importers: version: link:../client packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: - resolution: - { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: - { integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg== } + resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -515,8 +495,7 @@ packages: dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -524,8 +503,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -533,15 +511,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -553,8 +529,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -567,8 +542,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -576,15 +550,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -592,9 +564,8 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: - { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -644,9 +615,8 @@ packages: dev: true /@aws-sdk/client-s3@3.535.0: - resolution: - { integrity: sha512-qcFCP9a695ZvAbm+hRMyfE2PjqnSkq0Bl57X7z8gHUg4TIjKJHTP7mtND21A4YaWigegQL6OA5kMXMZbCcugLA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-qcFCP9a695ZvAbm+hRMyfE2PjqnSkq0Bl57X7z8gHUg4TIjKJHTP7mtND21A4YaWigegQL6OA5kMXMZbCcugLA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -710,9 +680,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -761,9 +730,8 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: - { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -808,9 +776,8 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -858,9 +825,8 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: - { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.0 '@smithy/protocol-http': 3.3.0 @@ -872,9 +838,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -883,9 +848,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: - { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -899,9 +863,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -920,9 +883,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: - { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -941,9 +903,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -953,9 +914,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -970,9 +930,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -985,9 +944,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -999,9 +957,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1010,9 +967,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -1025,9 +981,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1036,9 +991,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1046,9 +1000,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1056,9 +1009,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1067,9 +1019,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.535.0: - resolution: - { integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1083,9 +1034,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.535.0: - resolution: - { integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1097,9 +1047,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.535.0: - resolution: - { integrity: sha512-QAQ++9my7VZzusUPOFcUMdhTnjpGRyy/OvPC+jg9usdfcaSZeQbfzbdaVBalcm2Wt+1qxh3LZSTS+LxKikm02Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QAQ++9my7VZzusUPOFcUMdhTnjpGRyy/OvPC+jg9usdfcaSZeQbfzbdaVBalcm2Wt+1qxh3LZSTS+LxKikm02Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1107,9 +1056,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: - { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1119,9 +1067,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1132,9 +1079,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.535.0: - resolution: - { integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.535.0 '@aws-sdk/types': 3.535.0 @@ -1145,9 +1091,8 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1161,26 +1106,23 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: - { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1189,16 +1131,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.465.0: - resolution: - { integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1207,9 +1147,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: - { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1223,38 +1162,33 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.23.5: - resolution: - { integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 /@babel/compat-data@7.23.5: - resolution: - { integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} /@babel/core@7.24.0: - resolution: - { integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 @@ -1275,9 +1209,8 @@ packages: - supports-color /@babel/generator@7.23.6: - resolution: - { integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.3 @@ -1285,25 +1218,22 @@ packages: jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: - { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 @@ -1312,9 +1242,8 @@ packages: semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: - { integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1331,9 +1260,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: - { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1344,8 +1272,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: - { integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== } + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1360,44 +1287,38 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.23.0: - resolution: - { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.23.9 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: - { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.22.15: - resolution: - { integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1409,29 +1330,25 @@ packages: '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.22.5: - resolution: - { integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): - resolution: - { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1442,9 +1359,8 @@ packages: dev: true /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): - resolution: - { integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1455,52 +1371,44 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: - resolution: - { integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: - { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.22.15: - resolution: - { integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-option@7.23.5: - resolution: - { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.20: - resolution: - { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.23.9 @@ -1508,9 +1416,8 @@ packages: dev: true /@babel/helpers@7.24.0: - resolution: - { integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.0 @@ -1519,43 +1426,38 @@ packages: - supports-color /@babel/highlight@7.23.4: - resolution: - { integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 /@babel/parser@7.23.3: - resolution: - { integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/parser@7.23.9: - resolution: - { integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/parser@7.24.0: - resolution: - { integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1564,9 +1466,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1577,9 +1478,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: - { integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1589,9 +1489,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): - resolution: - { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1599,8 +1498,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1609,8 +1507,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1619,9 +1516,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1630,8 +1526,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1640,8 +1535,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1650,9 +1544,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1661,9 +1554,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1672,8 +1564,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1682,8 +1573,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1692,9 +1582,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1703,8 +1592,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1713,8 +1601,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1723,8 +1610,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1733,8 +1619,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1743,8 +1628,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1753,8 +1637,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1763,9 +1646,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1774,9 +1656,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1785,9 +1666,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1796,9 +1676,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): - resolution: - { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1808,9 +1687,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1819,9 +1697,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: - { integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1833,9 +1710,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1846,9 +1722,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1857,9 +1732,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1868,9 +1742,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1880,9 +1753,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -1893,9 +1765,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: - { integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1911,9 +1782,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1923,9 +1793,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1934,9 +1803,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1946,9 +1814,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1957,9 +1824,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1969,9 +1835,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,9 +1846,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1993,9 +1857,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: - { integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2005,9 +1868,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2018,9 +1880,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2030,9 +1891,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2041,9 +1901,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2053,9 +1912,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2064,9 +1922,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2076,9 +1933,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2089,9 +1945,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: - { integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2103,9 +1958,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2115,9 +1969,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): - resolution: - { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2127,9 +1980,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2138,9 +1990,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2150,9 +2001,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2162,9 +2012,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: - { integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2177,9 +2026,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2189,9 +2037,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2201,9 +2048,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2214,9 +2060,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2225,9 +2070,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2237,9 +2081,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: - { integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2251,9 +2094,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2262,9 +2104,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2274,9 +2115,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2285,9 +2125,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2296,9 +2135,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2308,9 +2146,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2319,9 +2156,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2330,9 +2166,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2341,9 +2176,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2355,9 +2189,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2366,9 +2199,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2378,9 +2210,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2390,9 +2221,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2402,9 +2232,8 @@ packages: dev: true /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: - { integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2494,8 +2323,7 @@ packages: dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): - resolution: - { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: @@ -2506,9 +2334,8 @@ packages: dev: true /@babel/preset-typescript@7.23.3(@babel/core@7.24.0): - resolution: - { integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2521,40 +2348,35 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.23.1: - resolution: - { integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 dev: true /@babel/template@7.23.9: - resolution: - { integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.9 '@babel/types': 7.24.0 /@babel/template@7.24.0: - resolution: - { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 '@babel/parser': 7.24.0 '@babel/types': 7.24.0 /@babel/traverse@7.24.0: - resolution: - { integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 @@ -2570,24 +2392,21 @@ packages: - supports-color /@babel/types@7.24.0: - resolution: - { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@bugsnag/browser@7.21.0: - resolution: - { integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA== } + resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: - { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } + resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2597,21 +2416,18 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: - { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } + resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} dev: false /@bugsnag/js@7.21.0: - resolution: - { integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg== } + resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} dependencies: '@bugsnag/browser': 7.21.0 '@bugsnag/node': 7.19.0 dev: false /@bugsnag/node@7.19.0: - resolution: - { integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w== } + resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2622,27 +2438,23 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: - { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: - { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: - { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: - { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.23.1 '@changesets/config': 3.0.0 @@ -2660,8 +2472,7 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: - { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2672,15 +2483,13 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: - { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: - { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -2690,8 +2499,7 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: - { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.23.1 @@ -2729,8 +2537,7 @@ packages: dev: true /@changesets/config@3.0.0: - resolution: - { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -2742,15 +2549,13 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: - { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: - { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2760,8 +2565,7 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: - { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -2770,8 +2574,7 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: - { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/assemble-release-plan': 6.0.0 @@ -2783,13 +2586,11 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: - { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true /@changesets/git@3.0.0: - resolution: - { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2801,23 +2602,20 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: - { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: - { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: - { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2827,8 +2625,7 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: - { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/git': 3.0.0 @@ -2841,18 +2638,15 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: - { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true /@changesets/types@6.0.0: - resolution: - { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true /@changesets/write@0.3.0: - resolution: - { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 6.0.0 @@ -2861,57 +2655,45 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240314.0: - resolution: - { integrity: sha512-eg2dK/tYSiFvQu3sexjB32WEGi3GEmY6pLRF4nrV9Rwi2F2965o6f6604jQY8whhrmNdEoWErSjhuuUld6xgKQ== } - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: - { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: - { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } - engines: { node: '>=16' } + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: - { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} dev: false /@edge-runtime/primitives@4.1.0: - resolution: - { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} dev: false /@edge-runtime/vm@3.2.0: - resolution: - { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: - { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -2919,9 +2701,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -2929,9 +2710,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: - { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -2939,9 +2719,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.2: - resolution: - { integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -2949,9 +2728,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -2959,9 +2737,8 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: - { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -2969,9 +2746,8 @@ packages: optional: true /@esbuild/android-arm@0.19.2: - resolution: - { integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -2979,9 +2755,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -2989,9 +2764,8 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: - { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -2999,9 +2773,8 @@ packages: optional: true /@esbuild/android-x64@0.19.2: - resolution: - { integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3009,9 +2782,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3019,9 +2791,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: - { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3029,9 +2800,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.2: - resolution: - { integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3039,9 +2809,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3049,9 +2818,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: - { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3059,9 +2827,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.2: - resolution: - { integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3069,9 +2836,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3079,9 +2845,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: - { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3089,9 +2854,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.2: - resolution: - { integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3099,9 +2863,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3109,9 +2872,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: - { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3119,9 +2881,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.2: - resolution: - { integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3129,9 +2890,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3139,9 +2899,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: - { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3149,9 +2908,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.2: - resolution: - { integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3159,9 +2917,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3169,9 +2926,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: - { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3179,9 +2935,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.2: - resolution: - { integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3189,9 +2944,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3199,9 +2953,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: - { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3209,9 +2962,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.2: - resolution: - { integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3219,9 +2971,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3229,9 +2980,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: - { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3239,9 +2989,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.2: - resolution: - { integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3249,9 +2998,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3259,9 +3007,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: - { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3269,9 +3016,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.2: - resolution: - { integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3279,9 +3025,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3289,9 +3034,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: - { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3299,9 +3043,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.2: - resolution: - { integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3309,9 +3052,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3319,9 +3061,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: - { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3329,9 +3070,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.2: - resolution: - { integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3339,9 +3079,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3349,9 +3088,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: - { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3359,9 +3097,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.2: - resolution: - { integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3369,9 +3106,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3379,9 +3115,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: - { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3389,9 +3124,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.2: - resolution: - { integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3399,9 +3133,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3409,9 +3142,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: - { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3419,9 +3151,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.2: - resolution: - { integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3429,9 +3160,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3439,9 +3169,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: - { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3449,9 +3178,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.2: - resolution: - { integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3459,9 +3187,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3469,9 +3196,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: - { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3479,9 +3205,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.2: - resolution: - { integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3489,9 +3214,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3499,9 +3223,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: - { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3509,9 +3232,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.2: - resolution: - { integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3519,9 +3241,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3529,9 +3250,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: - { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3539,9 +3259,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.2: - resolution: - { integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3549,9 +3268,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3559,9 +3277,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: - { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3569,9 +3286,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.2: - resolution: - { integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3579,9 +3295,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3589,9 +3304,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3600,15 +3314,13 @@ packages: dev: true /@eslint-community/regexpp@4.8.2: - resolution: - { integrity: sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@2.1.4: - resolution: - { integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -3624,30 +3336,25 @@ packages: dev: true /@eslint/js@8.57.0: - resolution: - { integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@exodus/schemasafe@1.3.0: - resolution: - { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true /@faker-js/faker@8.4.1: - resolution: - { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: false /@gar/promisify@1.1.3: - resolution: - { integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== } + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: - { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3655,17 +3362,15 @@ packages: dev: true /@grpc/grpc-js@1.9.3: - resolution: - { integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA== } - engines: { node: ^8.13.0 || >=10.10.0 } + resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} + engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.10 '@types/node': 20.11.29 /@grpc/proto-loader@0.7.10: - resolution: - { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} hasBin: true dependencies: lodash.camelcase: 4.3.0 @@ -3674,9 +3379,8 @@ packages: yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: - { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} + engines: {node: '>=14'} dependencies: '@grpc/grpc-js': 1.9.3 '@opentelemetry/api': 1.8.0 @@ -3695,9 +3399,8 @@ packages: dev: false /@humanwhocodes/config-array@0.11.14: - resolution: - { integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@9.4.0) @@ -3707,40 +3410,34 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/momoa@2.0.4: - resolution: - { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} dev: false /@humanwhocodes/object-schema@2.0.2: - resolution: - { integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== } + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@import-maps/resolve@1.0.1: - resolution: - { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } + resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: false /@inquirer/confirm@3.0.0: - resolution: - { integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.0.0 '@inquirer/type': 1.2.0 dev: true /@inquirer/core@7.0.0: - resolution: - { integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==} + engines: {node: '>=18'} dependencies: '@inquirer/type': 1.2.0 '@types/mute-stream': 0.0.4 @@ -3759,15 +3456,13 @@ packages: dev: true /@inquirer/type@1.2.0: - resolution: - { integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA==} + engines: {node: '>=18'} dev: true /@isaacs/cliui@8.0.2: - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -3778,22 +3473,19 @@ packages: dev: true /@isaacs/string-locale-compare@1.1.0: - resolution: - { integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== } + resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} dev: true /@jest/schemas@29.6.3: - resolution: - { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: - { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -3803,45 +3495,38 @@ packages: dev: false /@jridgewell/gen-mapping@0.3.3: - resolution: - { integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/resolve-uri@3.1.1: - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.1.2: - resolution: - { integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} /@jridgewell/trace-mapping@0.3.19: - resolution: - { integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== } + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@manypkg/find-root@1.1.0: - resolution: - { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.23.1 '@types/node': 12.20.55 @@ -3850,8 +3535,7 @@ packages: dev: true /@manypkg/get-packages@1.1.3: - resolution: - { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 4.1.0 @@ -3862,8 +3546,7 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: - { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: detect-libc: 2.0.2 @@ -3881,15 +3564,13 @@ packages: dev: false /@mswjs/cookies@1.1.0: - resolution: - { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} + engines: {node: '>=18'} dev: true /@mswjs/interceptors@0.25.16: - resolution: - { integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==} + engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -3900,14 +3581,12 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: - { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } + resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: false /@netlify/build@29.20.6(@types/node@20.11.29): - resolution: - { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.21.0 @@ -3975,9 +3654,8 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: - { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -3990,9 +3668,8 @@ packages: dev: false /@netlify/config@20.9.0: - resolution: - { integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.3.0 @@ -4022,9 +3699,8 @@ packages: dev: false /@netlify/edge-bundler@8.18.0: - resolution: - { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -4051,9 +3727,8 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: - { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4061,9 +3736,8 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: - { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4071,9 +3745,8 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: - { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4081,9 +3754,8 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: - { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4091,9 +3763,8 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: - { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4101,9 +3772,8 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: - { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4111,9 +3781,8 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: - { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4121,9 +3790,8 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: - { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4131,9 +3799,8 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: - { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4141,9 +3808,8 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: - { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4151,9 +3817,8 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: - { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4161,9 +3826,8 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: - { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4171,9 +3835,8 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: - { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4181,9 +3844,8 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: - { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4191,9 +3853,8 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: - { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4201,9 +3862,8 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: - { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4211,9 +3871,8 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: - { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4221,9 +3880,8 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: - { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4231,9 +3889,8 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: - { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4241,9 +3898,8 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: - { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4251,9 +3907,8 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: - { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -4280,9 +3935,8 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: - { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -4297,9 +3951,8 @@ packages: dev: false /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: - { integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) cpy: 9.0.1 @@ -4310,9 +3963,8 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: - { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -4322,43 +3974,37 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: - { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} dev: false /@netlify/open-api@2.22.0: - resolution: - { integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow== } + resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} dev: false /@netlify/plugins-list@6.71.0: - resolution: - { integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} + engines: {node: ^14.14.0 || >=16.0.0} dev: false /@netlify/run-utils@5.1.1: - resolution: - { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: false /@netlify/serverless-functions-api@1.7.3: - resolution: - { integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: - { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.23.9 @@ -4399,9 +4045,8 @@ packages: dev: false /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: - { integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.23.9 @@ -4442,30 +4087,26 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} /@nodelib/fs.walk@1.2.8: - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 /@npmcli/arborist@4.3.1: - resolution: - { integrity: sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16 } + resolution: {integrity: sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} hasBin: true dependencies: '@isaacs/string-locale-compare': 1.1.0 @@ -4506,33 +4147,29 @@ packages: dev: true /@npmcli/fs@1.1.1: - resolution: - { integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== } + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: '@gar/promisify': 1.1.3 semver: 7.6.0 dev: true /@npmcli/fs@2.1.2: - resolution: - { integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 semver: 7.6.0 dev: true /@npmcli/fs@3.1.0: - resolution: - { integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.6.0 dev: true /@npmcli/git@2.1.0: - resolution: - { integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== } + resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} dependencies: '@npmcli/promise-spawn': 1.3.2 lru-cache: 6.0.0 @@ -4547,9 +4184,8 @@ packages: dev: true /@npmcli/git@4.1.0: - resolution: - { integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 6.0.2 lru-cache: 7.18.3 @@ -4564,9 +4200,8 @@ packages: dev: true /@npmcli/installed-package-contents@1.0.7: - resolution: - { integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} + engines: {node: '>= 10'} hasBin: true dependencies: npm-bundled: 1.1.2 @@ -4574,9 +4209,8 @@ packages: dev: true /@npmcli/installed-package-contents@2.0.2: - resolution: - { integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: npm-bundled: 3.0.0 @@ -4584,9 +4218,8 @@ packages: dev: true /@npmcli/map-workspaces@2.0.4: - resolution: - { integrity: sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@npmcli/name-from-folder': 1.0.1 glob: 8.1.0 @@ -4595,9 +4228,8 @@ packages: dev: true /@npmcli/metavuln-calculator@2.0.0: - resolution: - { integrity: sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16 } + resolution: {integrity: sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} dependencies: cacache: 15.3.0 json-parse-even-better-errors: 2.3.1 @@ -4609,9 +4241,8 @@ packages: dev: true /@npmcli/move-file@1.1.2: - resolution: - { integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} deprecated: This functionality has been moved to @npmcli/fs dependencies: mkdirp: 1.0.4 @@ -4619,9 +4250,8 @@ packages: dev: true /@npmcli/move-file@2.0.1: - resolution: - { integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs dependencies: mkdirp: 1.0.4 @@ -4629,46 +4259,39 @@ packages: dev: true /@npmcli/name-from-folder@1.0.1: - resolution: - { integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== } + resolution: {integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==} dev: true /@npmcli/node-gyp@1.0.3: - resolution: - { integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== } + resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} dev: true /@npmcli/node-gyp@3.0.0: - resolution: - { integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /@npmcli/package-json@1.0.1: - resolution: - { integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg== } + resolution: {integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==} dependencies: json-parse-even-better-errors: 2.3.1 dev: true /@npmcli/promise-spawn@1.3.2: - resolution: - { integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== } + resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} dependencies: infer-owner: 1.0.4 dev: true /@npmcli/promise-spawn@6.0.2: - resolution: - { integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: which: 3.0.1 dev: true /@npmcli/run-script@2.0.0: - resolution: - { integrity: sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig== } + resolution: {integrity: sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==} dependencies: '@npmcli/node-gyp': 1.0.3 '@npmcli/promise-spawn': 1.3.2 @@ -4680,9 +4303,8 @@ packages: dev: true /@npmcli/run-script@6.0.2: - resolution: - { integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/promise-spawn': 6.0.2 @@ -4694,9 +4316,8 @@ packages: dev: true /@oclif/core@3.25.2: - resolution: - { integrity: sha512-OkW/cNa/3DhoCz2YlSpymVe8DXqkoRaLY4SPTVqNVzR4R1dFBE5KoCtuwKwnhxYLCRCqaViPgRnB5K26f0MnjA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-OkW/cNa/3DhoCz2YlSpymVe8DXqkoRaLY4SPTVqNVzR4R1dFBE5KoCtuwKwnhxYLCRCqaViPgRnB5K26f0MnjA==} + engines: {node: '>=18.0.0'} dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4728,25 +4349,22 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.18: - resolution: - { integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.25.2 /@oclif/plugin-not-found@3.0.14: - resolution: - { integrity: sha512-HLz04cmS+5F6Tsx1zQEoYV6wamDC/0cM2NqklPIEg8pq/JHPhktmhpzsGaRyBrtx4Pv+uNCo3s+mrTz2v5v03w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-HLz04cmS+5F6Tsx1zQEoYV6wamDC/0cM2NqklPIEg8pq/JHPhktmhpzsGaRyBrtx4Pv+uNCo3s+mrTz2v5v03w==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.25.2 chalk: 5.3.0 fast-levenshtein: 3.0.0 /@oclif/plugin-plugins@4.3.7: - resolution: - { integrity: sha512-G41UFPPpu0QbXfOiY8V9qGsTYRzmqC3OaidJZji6kuoJauzUQICRfx18C01/qP5nONE1in4QJAsRQhauvMXg6g== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-G41UFPPpu0QbXfOiY8V9qGsTYRzmqC3OaidJZji6kuoJauzUQICRfx18C01/qP5nONE1in4QJAsRQhauvMXg6g==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.25.2 chalk: 5.3.0 @@ -4762,9 +4380,8 @@ packages: dev: false /@oclif/plugin-warn-if-update-available@3.0.12: - resolution: - { integrity: sha512-BPj+1dSgp9Xtd5BZjLF9s0PeYBl07GSF69aol6/ZUMJMWD78SUWgAAm2SMJJBXic7Lw8hIGBY/YSGXDGaMh4gw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-BPj+1dSgp9Xtd5BZjLF9s0PeYBl07GSF69aol6/ZUMJMWD78SUWgAAm2SMJJBXic7Lw8hIGBY/YSGXDGaMh4gw==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.25.2 chalk: 5.3.0 @@ -4776,15 +4393,13 @@ packages: dev: true /@octokit/auth-token@2.5.0: - resolution: - { integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== } + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} dependencies: '@octokit/types': 6.41.0 dev: true /@octokit/core@3.6.0: - resolution: - { integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== } + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} dependencies: '@octokit/auth-token': 2.5.0 '@octokit/graphql': 4.8.0 @@ -4798,8 +4413,7 @@ packages: dev: true /@octokit/endpoint@6.0.12: - resolution: - { integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== } + resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} dependencies: '@octokit/types': 6.41.0 is-plain-object: 5.0.0 @@ -4807,8 +4421,7 @@ packages: dev: true /@octokit/graphql@4.8.0: - resolution: - { integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== } + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} dependencies: '@octokit/request': 5.6.3 '@octokit/types': 6.41.0 @@ -4818,13 +4431,11 @@ packages: dev: true /@octokit/openapi-types@12.11.0: - resolution: - { integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== } + resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} dev: true /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0): - resolution: - { integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== } + resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} peerDependencies: '@octokit/core': '>=2' dependencies: @@ -4833,8 +4444,7 @@ packages: dev: true /@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0): - resolution: - { integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== } + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: '@octokit/core': '>=3' dependencies: @@ -4842,8 +4452,7 @@ packages: dev: true /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): - resolution: - { integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== } + resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} peerDependencies: '@octokit/core': '>=3' dependencies: @@ -4853,8 +4462,7 @@ packages: dev: true /@octokit/request-error@2.1.0: - resolution: - { integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== } + resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} dependencies: '@octokit/types': 6.41.0 deprecation: 2.3.1 @@ -4862,8 +4470,7 @@ packages: dev: true /@octokit/request@5.6.3: - resolution: - { integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== } + resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} dependencies: '@octokit/endpoint': 6.0.12 '@octokit/request-error': 2.1.0 @@ -4876,8 +4483,7 @@ packages: dev: true /@octokit/rest@18.12.0: - resolution: - { integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== } + resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} dependencies: '@octokit/core': 3.6.0 '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) @@ -4888,33 +4494,28 @@ packages: dev: true /@octokit/types@6.41.0: - resolution: - { integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== } + resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} dependencies: '@octokit/openapi-types': 12.11.0 dev: true /@open-draft/deferred-promise@2.2.0: - resolution: - { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true /@open-draft/logger@0.3.0: - resolution: - { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: - { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@openapi-codegen/cli@2.0.0(react@17.0.2): - resolution: - { integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ== } + resolution: {integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ==} hasBin: true dependencies: '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) @@ -4950,8 +4551,7 @@ packages: dev: true /@openapi-codegen/typescript@8.0.0: - resolution: - { integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA== } + resolution: {integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA==} dependencies: case: 1.6.3 lodash: 4.17.21 @@ -4963,22 +4563,19 @@ packages: dev: true /@opentelemetry/api-logs@0.49.1: - resolution: - { integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q==} + engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: - { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4986,9 +4583,8 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4996,9 +4592,8 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5007,9 +4602,8 @@ packages: dev: false /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5018,9 +4612,8 @@ packages: dev: false /@opentelemetry/core@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5028,9 +4621,8 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5042,9 +4634,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5059,9 +4650,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5074,9 +4664,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5091,9 +4680,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5107,9 +4695,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.49.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5123,9 +4710,8 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } - engines: { node: '>=14' } + resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5138,9 +4724,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5154,9 +4739,8 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5168,9 +4752,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5183,9 +4766,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.49.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5201,9 +4783,8 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5212,9 +4793,8 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5223,9 +4803,8 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5237,9 +4816,8 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5251,9 +4829,8 @@ packages: dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5264,9 +4841,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5278,9 +4854,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.49.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5294,9 +4869,8 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5305,9 +4879,8 @@ packages: dev: false /@opentelemetry/propagator-b3@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5316,9 +4889,8 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5327,9 +4899,8 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5338,9 +4909,8 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5350,9 +4920,8 @@ packages: dev: false /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5362,9 +4931,8 @@ packages: dev: false /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5373,9 +4941,8 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-logs@0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -5387,9 +4954,8 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5400,9 +4966,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.8.0' dependencies: @@ -5413,9 +4978,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5426,9 +4990,8 @@ packages: dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5450,9 +5013,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5463,9 +5025,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5475,9 +5036,8 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5491,9 +5051,8 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.22.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5507,86 +5066,70 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: - { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.18.1: - resolution: - { integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.22.0: - resolution: - { integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==} + engines: {node: '>=14'} /@pkgjs/parseargs@0.11.0: - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} /@protobufjs/base64@1.1.2: - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} /@protobufjs/codegen@2.0.4: - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} /@protobufjs/eventemitter@1.1.0: - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} /@protobufjs/fetch@1.1.0: - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} /@protobufjs/inquire@1.1.0: - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} /@protobufjs/path@1.1.2: - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} /@protobufjs/pool@1.1.0: - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} /@protobufjs/utf8@1.1.0: - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} /@rollup/pluginutils@4.2.1: - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false /@rollup/pluginutils@5.0.5(rollup@4.13.0): - resolution: - { integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5600,8 +5143,7 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: - { integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg== } + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] os: [android] requiresBuild: true @@ -5609,8 +5151,7 @@ packages: optional: true /@rollup/rollup-android-arm64@4.13.0: - resolution: - { integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q== } + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] os: [android] requiresBuild: true @@ -5618,8 +5159,7 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.13.0: - resolution: - { integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g== } + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -5627,8 +5167,7 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.13.0: - resolution: - { integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg== } + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] os: [darwin] requiresBuild: true @@ -5636,8 +5175,7 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: - { integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ== } + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] os: [linux] requiresBuild: true @@ -5645,8 +5183,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: - { integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w== } + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5654,8 +5191,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: - { integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw== } + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5663,8 +5199,7 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: - { integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA== } + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} cpu: [riscv64] os: [linux] requiresBuild: true @@ -5672,8 +5207,7 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: - { integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA== } + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] os: [linux] requiresBuild: true @@ -5681,8 +5215,7 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: - { integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw== } + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] os: [linux] requiresBuild: true @@ -5690,8 +5223,7 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: - { integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA== } + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -5699,8 +5231,7 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: - { integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw== } + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] os: [win32] requiresBuild: true @@ -5708,8 +5239,7 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: - { integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw== } + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] os: [win32] requiresBuild: true @@ -5717,23 +5247,20 @@ packages: optional: true /@sigstore/bundle@1.1.0: - resolution: - { integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@sigstore/protobuf-specs': 0.2.1 dev: true /@sigstore/protobuf-specs@0.2.1: - resolution: - { integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /@sigstore/sign@1.0.0: - resolution: - { integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@sigstore/bundle': 1.1.0 '@sigstore/protobuf-specs': 0.2.1 @@ -5743,9 +5270,8 @@ packages: dev: true /@sigstore/tuf@1.0.3: - resolution: - { integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@sigstore/protobuf-specs': 0.2.1 tuf-js: 1.1.7 @@ -5754,48 +5280,41 @@ packages: dev: true /@sinclair/typebox@0.27.8: - resolution: - { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@4.6.0: - resolution: - { integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} dev: true /@sindresorhus/is@5.6.0: - resolution: - { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} /@sindresorhus/merge-streams@2.3.0: - resolution: - { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} dev: true /@sindresorhus/slugify@2.2.1: - resolution: - { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + engines: {node: '>=12'} dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: - { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /@size-limit/esbuild@11.1.1(size-limit@11.1.1): - resolution: - { integrity: sha512-+lWZbLc0X3c8uh6wdYv/5CGn58x1IgYAhCLQXvojxgn/j3TP72H2EigXLMcDXOgN3aps44yV3Qb2HIJppE+jYw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-+lWZbLc0X3c8uh6wdYv/5CGn58x1IgYAhCLQXvojxgn/j3TP72H2EigXLMcDXOgN3aps44yV3Qb2HIJppE+jYw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.1 dependencies: @@ -5805,9 +5324,8 @@ packages: dev: true /@size-limit/file@11.1.1(size-limit@11.1.1): - resolution: - { integrity: sha512-c4XXp2CLvfx2RfzAqIAlxV6OWAQSVquLMNKKD6x9urJD7knjnTesPkbMcf3SkQbjCY4PlLL6kYhaO9drCWGM6g== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-c4XXp2CLvfx2RfzAqIAlxV6OWAQSVquLMNKKD6x9urJD7knjnTesPkbMcf3SkQbjCY4PlLL6kYhaO9drCWGM6g==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.1 dependencies: @@ -5815,8 +5333,7 @@ packages: dev: true /@size-limit/preset-small-lib@11.1.1(size-limit@11.1.1): - resolution: - { integrity: sha512-GW3T//znZXnk+a0VxkP241GCYZUn/RDr8Pn8p6pjdFqQy3PFrKiMq2QHyJLtGT/eRoYHL8e32mkNciQtQjZ4sQ== } + resolution: {integrity: sha512-GW3T//znZXnk+a0VxkP241GCYZUn/RDr8Pn8p6pjdFqQy3PFrKiMq2QHyJLtGT/eRoYHL8e32mkNciQtQjZ4sQ==} peerDependencies: size-limit: 11.1.1 dependencies: @@ -5826,33 +5343,29 @@ packages: dev: true /@smithy/abort-controller@2.2.0: - resolution: - { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: - { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5862,9 +5375,8 @@ packages: dev: true /@smithy/core@1.4.0: - resolution: - { integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-retry': 2.2.0 @@ -5877,9 +5389,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5889,8 +5400,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5899,9 +5409,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5909,18 +5418,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5928,9 +5435,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5938,8 +5444,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -5949,8 +5454,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -5959,9 +5463,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -5970,9 +5473,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5980,24 +5482,21 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6005,9 +5504,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -6015,9 +5513,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.0: - resolution: - { integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -6029,9 +5526,8 @@ packages: dev: true /@smithy/middleware-retry@2.2.0: - resolution: - { integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -6045,27 +5541,24 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -6074,9 +5567,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -6086,27 +5578,24 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -6114,35 +5603,31 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.2.0: - resolution: - { integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/is-array-buffer': 2.2.0 @@ -6155,9 +5640,8 @@ packages: dev: true /@smithy/smithy-client@2.5.0: - resolution: - { integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-stack': 2.2.0 @@ -6168,16 +5652,14 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: - { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: - { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -6185,9 +5667,8 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: - { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -6195,41 +5676,36 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.0: - resolution: - { integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.0 @@ -6239,9 +5715,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.0: - resolution: - { integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -6253,9 +5728,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6263,26 +5737,23 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -6290,9 +5761,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -6305,26 +5775,23 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -6332,9 +5799,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.89: - resolution: - { integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6342,9 +5808,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.89: - resolution: - { integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6352,9 +5817,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: - { integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6362,9 +5826,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.89: - resolution: - { integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6372,9 +5835,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.89: - resolution: - { integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6382,9 +5844,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.89: - resolution: - { integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6392,9 +5853,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.89: - resolution: - { integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6402,9 +5862,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.89: - resolution: - { integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6412,9 +5871,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.89: - resolution: - { integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -6422,9 +5880,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.89: - resolution: - { integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6432,9 +5889,8 @@ packages: optional: true /@swc/core@1.3.89: - resolution: - { integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -6458,38 +5914,32 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw== } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/types@0.1.5: - resolution: - { integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@4.0.6: - resolution: - { integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.1 dev: true /@szmarczak/http-timer@5.0.1: - resolution: - { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: - { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: - { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -6505,20 +5955,17 @@ packages: dev: true /@tootallnate/once@1.1.2: - resolution: - { integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} dev: true /@tootallnate/once@2.0.0: - resolution: - { integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: true /@ts-morph/common@0.23.0: - resolution: - { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} dependencies: fast-glob: 3.3.2 minimatch: 9.0.3 @@ -6526,39 +5973,32 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12@1.0.11: - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14@1.0.3: - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16@1.0.4: - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} /@tufjs/canonical-json@1.0.0: - resolution: - { integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /@tufjs/models@1.0.4: - resolution: - { integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@tufjs/canonical-json': 1.0.0 minimatch: 9.0.3 dev: true /@types/babel__core@7.20.5: - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.24.0 @@ -6568,30 +6008,26 @@ packages: dev: true /@types/babel__generator@7.6.5: - resolution: - { integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== } + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.2: - resolution: - { integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== } + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: '@babel/parser': 7.23.9 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.2: - resolution: - { integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== } + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/cacheable-request@6.0.3: - resolution: - { integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== } + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: '@types/http-cache-semantics': 4.0.2 '@types/keyv': 3.1.4 @@ -6600,165 +6036,137 @@ packages: dev: true /@types/cli-progress@3.11.5: - resolution: - { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } + resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: '@types/node': 20.11.29 /@types/cookie@0.6.0: - resolution: - { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true /@types/estree@1.0.5: - resolution: - { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true /@types/expect@1.20.4: - resolution: - { integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== } + resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} dev: true /@types/http-cache-semantics@4.0.2: - resolution: - { integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== } + resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} /@types/ini@4.1.0: - resolution: - { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} dev: false /@types/istanbul-lib-coverage@2.0.4: - resolution: - { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false /@types/istanbul-lib-report@3.0.0: - resolution: - { integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false /@types/istanbul-reports@3.0.1: - resolution: - { integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false /@types/json-schema@7.0.13: - resolution: - { integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== } + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true /@types/json5@0.0.29: - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/keyv@3.1.4: - resolution: - { integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== } + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 20.11.29 dev: true /@types/lodash.chunk@4.2.9: - resolution: - { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } + resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.compact@3.0.9: - resolution: - { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } + resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.get@4.4.9: - resolution: - { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } + resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.pick@4.4.9: - resolution: - { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.set@4.3.9: - resolution: - { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash@4.14.199: - resolution: - { integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== } + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: - resolution: - { integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== } + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.8 dev: true /@types/minimatch@3.0.5: - resolution: - { integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== } + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true /@types/minimist@1.2.2: - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/mute-stream@0.0.4: - resolution: - { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.11.29 dev: true /@types/node@12.20.55: - resolution: - { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true /@types/node@15.14.9: - resolution: - { integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== } + resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true /@types/node@20.11.29: - resolution: - { integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA== } + resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} dependencies: undici-types: 5.26.5 /@types/normalize-package-data@2.4.2: - resolution: - { integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== } + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} /@types/papaparse@5.3.14: - resolution: - { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } + resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} dependencies: '@types/node': 20.11.29 dev: true /@types/pg@8.11.3: - resolution: - { integrity: sha512-xocw4LvpDcj/Ta7bN52tLZm34mso5SZ0Q8fVC0UtD8s85Itip3YHvBeYZhBmC0OThpdOujHsxXtRbEIRxqXPXg== } + resolution: {integrity: sha512-xocw4LvpDcj/Ta7bN52tLZm34mso5SZ0Q8fVC0UtD8s85Itip3YHvBeYZhBmC0OThpdOujHsxXtRbEIRxqXPXg==} dependencies: '@types/node': 20.11.29 pg-protocol: 1.6.0 @@ -6766,113 +6174,93 @@ packages: dev: true /@types/pluralize@0.0.33: - resolution: - { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} dev: true /@types/prettier@2.7.3: - resolution: - { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: '@types/node': 20.11.29 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: - { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } + resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} dev: true /@types/responselike@1.0.0: - resolution: - { integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== } + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: '@types/node': 20.11.29 dev: true /@types/retry@0.12.1: - resolution: - { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: false /@types/semver@7.5.6: - resolution: - { integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== } + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true /@types/semver@7.5.8: - resolution: - { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} /@types/shimmer@1.0.3: - resolution: - { integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA== } + resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} dev: true /@types/statuses@2.0.4: - resolution: - { integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw== } + resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} dev: true /@types/text-table@0.2.5: - resolution: - { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } + resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} dev: true /@types/tmp@0.2.6: - resolution: - { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} dev: true /@types/unist@2.0.8: - resolution: - { integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== } + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: true /@types/vinyl@2.0.7: - resolution: - { integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg== } + resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} dependencies: '@types/expect': 1.20.4 '@types/node': 20.11.29 dev: true /@types/which@3.0.3: - resolution: - { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } + resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} dev: true /@types/yargs-parser@21.0.1: - resolution: - { integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== } + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false /@types/yargs@16.0.6: - resolution: - { integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== } + resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} dependencies: '@types/yargs-parser': 21.0.1 dev: false /@types/yoga-layout@1.9.2: - resolution: - { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6900,9 +6288,8 @@ packages: dev: true /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6930,9 +6317,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6952,9 +6338,8 @@ packages: dev: true /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6974,27 +6359,24 @@ packages: dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.3.1: - resolution: - { integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.3.1 '@typescript-eslint/visitor-keys': 7.3.1 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -7013,9 +6395,8 @@ packages: dev: true /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -7034,27 +6415,23 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false /@typescript-eslint/types@6.21.0: - resolution: - { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.3.1: - resolution: - { integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.2): - resolution: - { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7074,9 +6451,8 @@ packages: dev: false /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2): - resolution: - { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7097,9 +6473,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.2): - resolution: - { integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7120,9 +6495,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7140,9 +6514,8 @@ packages: dev: true /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: @@ -7160,41 +6533,36 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.3.1: - resolution: - { integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.3.1 eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: - resolution: - { integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== } + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: - { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} + engines: {node: '>=14'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) @@ -7214,8 +6582,7 @@ packages: dev: false /@vitest/expect@1.4.0: - resolution: - { integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA== } + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: '@vitest/spy': 1.4.0 '@vitest/utils': 1.4.0 @@ -7223,8 +6590,7 @@ packages: dev: true /@vitest/runner@1.4.0: - resolution: - { integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg== } + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: '@vitest/utils': 1.4.0 p-limit: 5.0.0 @@ -7232,8 +6598,7 @@ packages: dev: true /@vitest/snapshot@1.4.0: - resolution: - { integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A== } + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 @@ -7241,15 +6606,13 @@ packages: dev: true /@vitest/spy@1.4.0: - resolution: - { integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q== } + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.0 dev: true /@vitest/utils@1.4.0: - resolution: - { integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg== } + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7258,51 +6621,44 @@ packages: dev: true /@wry/context@0.7.3: - resolution: - { integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/equality@0.5.6: - resolution: - { integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/trie@0.4.3: - resolution: - { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} /abort-controller@3.0.0: - resolution: - { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } - engines: { node: '>=6.5' } + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 dev: true /abstract-leveldown@0.12.4: - resolution: - { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } + resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} dependencies: xtend: 3.0.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: - { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -7310,8 +6666,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7319,67 +6674,58 @@ packages: dev: true /acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn-walk@8.3.2: - resolution: - { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@5.7.4: - resolution: - { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color /agentkeepalive@4.5.0: - resolution: - { integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} dependencies: humanize-ms: 1.2.1 dev: true /aggregate-error@3.1.0: - resolution: - { integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 dev: true /aggregate-error@4.0.1: - resolution: - { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: - { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: ajv: ^8.0.1 dependencies: @@ -7387,8 +6733,7 @@ packages: dev: false /ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -7397,8 +6742,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -7407,110 +6751,92 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: - { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: - { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } + resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} dev: false /ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} /ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: - { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: - { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} /ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} /ansi-styles@6.2.1: - resolution: - { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /ansicolors@0.3.2: - resolution: - { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} /any-date-parser@1.5.4: - resolution: - { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } + resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} dev: false /any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} /archiver-utils@2.1.0: - resolution: - { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7525,9 +6851,8 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: - { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7542,9 +6867,8 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: - { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -7555,9 +6879,8 @@ packages: dev: false /archiver@5.3.2: - resolution: - { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.4 @@ -7569,9 +6892,8 @@ packages: dev: false /archiver@6.0.1: - resolution: - { integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 async: 3.2.4 @@ -7583,54 +6905,46 @@ packages: dev: false /are-we-there-yet@2.0.0: - resolution: - { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 /are-we-there-yet@3.0.1: - resolution: - { integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 dev: true /arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} /array-buffer-byte-length@1.0.0: - resolution: - { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 dev: true /array-differ@3.0.0: - resolution: - { integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} dev: true /array-includes@3.1.7: - resolution: - { integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7640,14 +6954,12 @@ packages: dev: true /array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} /array.prototype.findlastindex@1.2.3: - resolution: - { integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7657,9 +6969,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7668,9 +6979,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7679,9 +6989,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.2: - resolution: - { integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 @@ -7693,31 +7002,26 @@ packages: dev: true /arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} dev: true /arrify@2.0.1: - resolution: - { integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} dev: true /arrify@3.0.0: - resolution: - { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: false /asap@2.0.6: - resolution: - { integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== } + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true /asn1.js@5.4.1: - resolution: - { integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -7726,63 +7030,52 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: false /astral-regex@2.0.0: - resolution: - { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} /async-listen@3.0.1: - resolution: - { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} dev: false /async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: - { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false /async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /auto-bind@4.0.0: - resolution: - { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /available-typed-arrays@1.0.5: - resolution: - { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} dev: true /axios@1.5.0: - resolution: - { integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== } + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 @@ -7792,13 +7085,11 @@ packages: dev: false /b4a@1.6.4: - resolution: - { integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== } + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): - resolution: - { integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== } + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7811,8 +7102,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: - { integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== } + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7824,8 +7114,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: - { integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== } + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7836,27 +7125,22 @@ packages: dev: true /bail@1.0.5: - resolution: - { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} dev: true /balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} /before-after-hook@2.2.3: - resolution: - { integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== } + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: - { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} peerDependencies: ajv: 4.11.8 - 8 dependencies: @@ -7869,17 +7153,15 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: - { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} dependencies: is-windows: 1.0.2 dev: true /bin-links@3.0.3: - resolution: - { integrity: sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: cmd-shim: 5.0.0 mkdirp-infer-owner: 2.0.0 @@ -7890,89 +7172,75 @@ packages: dev: true /binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /binaryextensions@4.18.0: - resolution: - { integrity: sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==} + engines: {node: '>=0.8'} dev: true /bindings@1.5.0: - resolution: - { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: - { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } + resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 /bn.js@4.12.0: - resolution: - { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true /bn.js@5.2.1: - resolution: - { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /bowser@2.11.0: - resolution: - { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: - { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: - { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true /browserify-aes@1.2.0: - resolution: - { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7983,8 +7251,7 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: - { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7992,8 +7259,7 @@ packages: dev: true /browserify-des@1.0.2: - resolution: - { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -8002,8 +7268,7 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: - { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } + resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -8011,16 +7276,14 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: - { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true /browserify-sign@4.2.1: - resolution: - { integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== } + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -8034,9 +7297,8 @@ packages: dev: true /browserslist@4.22.2: - resolution: - { integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001570 @@ -8045,50 +7307,42 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.22.2) /buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-es6@4.9.3: - resolution: - { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} dev: true /buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-writer@2.0.0: - resolution: - { integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} dev: true /buffer-xor@1.0.3: - resolution: - { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 /buffer@6.0.3: - resolution: - { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== } + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /bufrw@1.3.0: - resolution: - { integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} + engines: {node: '>= 0.10.x'} dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -8097,58 +7351,49 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: - { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} /builtins@1.0.3: - resolution: - { integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== } + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} dev: true /builtins@2.0.1: - resolution: - { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } + resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: - { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: - { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} dev: false /bytes-iec@3.1.1: - resolution: - { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} dev: true /cac@6.7.14: - resolution: - { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /cacache@15.3.0: - resolution: - { integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} dependencies: '@npmcli/fs': 1.1.1 '@npmcli/move-file': 1.1.2 @@ -8173,9 +7418,8 @@ packages: dev: true /cacache@16.1.3: - resolution: - { integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@npmcli/fs': 2.1.2 '@npmcli/move-file': 2.0.1 @@ -8200,9 +7444,8 @@ packages: dev: true /cacache@17.1.4: - resolution: - { integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 @@ -8219,20 +7462,17 @@ packages: dev: true /cacheable-lookup@5.0.4: - resolution: - { integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== } - engines: { node: '>=10.6.0' } + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} dev: true /cacheable-lookup@7.0.0: - resolution: - { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} /cacheable-request@10.2.13: - resolution: - { integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.2 get-stream: 6.0.1 @@ -8243,9 +7483,8 @@ packages: responselike: 3.0.0 /cacheable-request@7.0.4: - resolution: - { integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -8257,34 +7496,29 @@ packages: dev: true /call-bind@1.0.2: - resolution: - { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.1 /call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true /callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} /camel-case@4.1.2: - resolution: - { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -8292,24 +7526,20 @@ packages: dev: true /camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: false /caniuse-lite@1.0.30001570: - resolution: - { integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== } + resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} /capital-case@1.0.4: - resolution: - { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8317,27 +7547,23 @@ packages: dev: true /cardinal@2.1.1: - resolution: - { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: - { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} /ccount@1.1.0: - resolution: - { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true /chai@4.3.10: - resolution: - { integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -8349,30 +7575,26 @@ packages: dev: true /chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} /change-case@4.1.2: - resolution: - { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -8389,36 +7611,30 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: - { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true /character-entities@1.2.4: - resolution: - { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true /character-reference-invalid@1.1.4: - resolution: - { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true /chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /check-error@1.0.3: - resolution: - { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -8432,89 +7648,76 @@ packages: dev: true /chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} /ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@2.2.0: - resolution: - { integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} dev: true /clean-stack@3.0.1: - resolution: - { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: - { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -8526,59 +7729,51 @@ packages: dev: true /cli-progress@3.12.0: - resolution: - { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} dev: true /cli-table@0.3.11: - resolution: - { integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ== } - engines: { node: '>= 0.2.0' } + resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} + engines: {node: '>= 0.2.0'} dependencies: colors: 1.0.3 dev: true /cli-truncate@2.1.0: - resolution: - { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: - { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.0.0 dev: true /cli-width@3.0.0: - resolution: - { integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} dev: true /cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} dev: true /clipanion@3.2.1(typanion@3.14.0): - resolution: - { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} peerDependencies: typanion: '*' dependencies: @@ -8586,8 +7781,7 @@ packages: dev: true /cliui@6.0.0: - resolution: - { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8595,8 +7789,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8604,52 +7797,44 @@ packages: dev: true /cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 /clone-buffer@1.0.0: - resolution: - { integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} + engines: {node: '>= 0.10'} dev: true /clone-response@1.0.3: - resolution: - { integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== } + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 dev: true /clone-stats@1.0.0: - resolution: - { integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== } + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} dev: true /clone@0.1.19: - resolution: - { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } + resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} dev: true /clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /clone@2.1.2: - resolution: - { integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} dev: true /cloneable-readable@1.1.3: - resolution: - { integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== } + resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} dependencies: inherits: 2.0.4 process-nextick-args: 2.0.1 @@ -8657,75 +7842,63 @@ packages: dev: true /cmd-shim@5.0.0: - resolution: - { integrity: sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: mkdirp-infer-owner: 2.0.0 dev: true /code-block-writer@13.0.1: - resolution: - { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} /code-excerpt@3.0.0: - resolution: - { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /color-string@1.9.1: - resolution: - { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true /color@4.2.3: - resolution: - { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors-option@3.0.0: - resolution: - { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} + engines: {node: '>=12.20.0'} dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -8734,61 +7907,51 @@ packages: dev: false /colors@1.0.3: - resolution: - { integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} + engines: {node: '>=0.1.90'} dev: true /combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: false /commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false /commander@7.1.0: - resolution: - { integrity: sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==} + engines: {node: '>= 10'} dev: true /common-ancestor-path@1.0.1: - resolution: - { integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== } + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} dev: true /common-path-prefix@3.0.0: - resolution: - { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false /commondir@1.0.1: - resolution: - { integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== } + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true /compress-commons@4.1.2: - resolution: - { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -8797,9 +7960,8 @@ packages: dev: false /compress-commons@5.0.1: - resolution: - { integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 crc32-stream: 5.0.0 @@ -8808,13 +7970,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -8823,17 +7983,14 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: - { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} /constant-case@3.0.4: - resolution: - { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8841,48 +7998,40 @@ packages: dev: true /content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-hrtime@3.0.0: - resolution: - { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} dev: false /convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} /convert-to-spaces@1.0.2: - resolution: - { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} + engines: {node: '>= 4'} dev: true /cookie@0.5.0: - resolution: - { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /core-js-compat@3.35.0: - resolution: - { integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw== } + resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} dependencies: browserslist: 4.22.2 dev: true /core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cosmiconfig@9.0.0(typescript@5.4.2): - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8897,9 +8046,8 @@ packages: dev: false /cp-file@10.0.0: - resolution: - { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8907,9 +8055,8 @@ packages: dev: false /cp-file@9.1.0: - resolution: - { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} + engines: {node: '>=10'} dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8918,9 +8065,8 @@ packages: dev: false /cpy@9.0.1: - resolution: - { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } - engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} + engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8933,41 +8079,36 @@ packages: dev: false /crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: false /crc32-stream@4.0.3: - resolution: - { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /crc32-stream@5.0.0: - resolution: - { integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: - { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true /create-hash@1.2.0: - resolution: - { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8977,8 +8118,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8989,20 +8129,17 @@ packages: dev: true /create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cron-parser@4.9.0: - resolution: - { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} dependencies: luxon: 3.4.3 dev: false /cross-spawn@5.1.0: - resolution: - { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -9010,17 +8147,15 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: - { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -9036,24 +8171,20 @@ packages: dev: true /csv-generate@3.4.3: - resolution: - { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true /csv-parse@4.16.3: - resolution: - { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true /csv-stringify@5.6.5: - resolution: - { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true /csv@5.5.3: - resolution: - { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } - engines: { node: '>= 0.1.90' } + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -9062,30 +8193,25 @@ packages: dev: true /dargs@7.0.0: - resolution: - { integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} dev: true /data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /dataloader@1.4.0: - resolution: - { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true /dateformat@4.6.3: - resolution: - { integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== } + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} dev: true /debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9096,9 +8222,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9109,9 +8234,8 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9122,96 +8246,82 @@ packages: supports-color: 9.4.0 /debuglog@1.0.1: - resolution: - { integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== } + resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dev: true /decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: - { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-extend@0.6.0: - resolution: - { integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} dev: true /deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: false /default-browser-id@5.0.0: - resolution: - { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} dev: false /default-browser@5.2.1: - resolution: - { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} /deferred-leveldown@0.2.0: - resolution: - { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } + resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} dependencies: abstract-leveldown: 0.12.4 dev: true /define-data-property@1.1.0: - resolution: - { integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 gopd: 1.0.1 @@ -9219,15 +8329,13 @@ packages: dev: true /define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} dev: false /define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 @@ -9235,56 +8343,47 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /delegates@1.0.0: - resolution: - { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} /deprecation@2.3.1: - resolution: - { integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== } + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} dev: true /des.js@1.1.0: - resolution: - { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-libc@2.0.2: - resolution: - { integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: false /detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -9294,26 +8393,23 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: - { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: - { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: - { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.35 @@ -9321,33 +8417,29 @@ packages: dev: false /detective-sass@5.0.3: - resolution: - { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: - { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: - { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: - { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.2) ast-module-types: 5.0.0 @@ -9358,33 +8450,28 @@ packages: dev: false /dezalgo@1.0.4: - resolution: - { integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== } + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} dependencies: asap: 2.0.6 wrappy: 1.0.2 dev: true /diff-sequences@29.6.3: - resolution: - { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /diff@5.1.0: - resolution: - { integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} dev: true /diffie-hellman@5.0.3: - resolution: - { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -9392,15 +8479,13 @@ packages: dev: true /dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: - { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -9414,24 +8499,21 @@ packages: dev: true /doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /doctrine@3.0.0: - resolution: - { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: - { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -9439,21 +8521,18 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domhandler@4.3.1: - resolution: - { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: - { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -9461,43 +8540,37 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: - { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} /dotenv@8.6.0: - resolution: - { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: true /drizzle-orm@0.30.3(@opentelemetry/api@1.8.0)(@types/pg@8.11.3)(pg@8.11.3)(react@17.0.2): - resolution: - { integrity: sha512-tmIUPy71Ca7BUD5M7Tn9bvXESDWoj66d6lTdKCdf30V26xDFFjbx7DMamhOiWU+H1fflBk5rCdtGyt2SiFPgRg== } + resolution: {integrity: sha512-tmIUPy71Ca7BUD5M7Tn9bvXESDWoj66d6lTdKCdf30V26xDFFjbx7DMamhOiWU+H1fflBk5rCdtGyt2SiFPgRg==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -9577,13 +8650,11 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} /edge-runtime@2.5.9: - resolution: - { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -9598,20 +8669,17 @@ packages: dev: false /ejs@3.1.9: - resolution: - { integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 /electron-to-chromium@1.4.614: - resolution: - { integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ== } + resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} /elliptic@6.5.4: - resolution: - { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -9623,26 +8691,21 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: - { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} dev: true /emoji-regex@10.3.0: - resolution: - { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} /encoding@0.1.13: - resolution: - { integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== } + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} requiresBuild: true dependencies: iconv-lite: 0.6.3 @@ -9650,99 +8713,84 @@ packages: optional: true /end-of-stream@1.4.4: - resolution: - { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 /enhanced-resolve@5.15.0: - resolution: - { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: - { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true /entities@3.0.1: - resolution: - { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} dev: true /env-editor@1.1.0: - resolution: - { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} /env-paths@3.0.0: - resolution: - { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /err-code@2.0.3: - resolution: - { integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== } + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} dev: true /errno@0.1.8: - resolution: - { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: - { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false /error@10.4.0: - resolution: - { integrity: sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw== } + resolution: {integrity: sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==} dev: true /error@7.0.2: - resolution: - { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false /es-abstract@1.22.2: - resolution: - { integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -9786,13 +8834,11 @@ packages: dev: true /es-module-lexer@1.3.1: - resolution: - { integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== } + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: - resolution: - { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -9800,16 +8846,14 @@ packages: dev: true /es-shim-unscopables@1.0.0: - resolution: - { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive@1.2.1: - resolution: - { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -9817,14 +8861,12 @@ packages: dev: true /es6-promise@3.3.1: - resolution: - { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true /esbuild@0.19.11: - resolution: - { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9854,9 +8896,8 @@ packages: dev: true /esbuild@0.19.2: - resolution: - { integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9885,9 +8926,8 @@ packages: dev: false /esbuild@0.20.2: - resolution: - { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9917,36 +8957,30 @@ packages: dev: true /escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} /escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} /escape-string-regexp@5.0.0: - resolution: - { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: false /escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -9957,9 +8991,8 @@ packages: dev: false /eslint-config-oclif-typescript@3.1.3(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg==} + engines: {node: '>=18.0.0'} dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) @@ -9982,9 +9015,8 @@ packages: dev: true /eslint-config-oclif@5.1.1(eslint@8.57.0): - resolution: - { integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ==} + engines: {node: '>=18.0.0'} dependencies: eslint-config-xo-space: 0.35.0(eslint@8.57.0) eslint-plugin-mocha: 10.4.1(eslint@8.57.0) @@ -9995,9 +9027,8 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@8.57.0): - resolution: - { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -10006,9 +9037,8 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@8.57.0): - resolution: - { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -10017,8 +9047,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -10028,9 +9057,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -10052,9 +9080,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.3.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -10076,9 +9103,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -10107,9 +9133,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -10138,9 +9163,8 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@8.57.0): - resolution: - { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -10150,9 +9174,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -10186,9 +9209,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -10222,9 +9244,8 @@ packages: dev: true /eslint-plugin-mocha@10.4.1(eslint@8.57.0): - resolution: - { integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA==} + engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -10235,9 +9256,8 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@8.57.0): - resolution: - { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -10253,8 +9273,7 @@ packages: dev: true /eslint-plugin-perfectionist@2.7.0(eslint@8.57.0)(typescript@5.4.2): - resolution: - { integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw== } + resolution: {integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -10281,9 +9300,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: - { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -10306,26 +9324,23 @@ packages: dev: true /eslint-scope@7.2.2: - resolution: - { integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: - { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@8.57.0): - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: @@ -10334,26 +9349,22 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: - { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: true /eslint-visitor-keys@2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint@8.57.0: - resolution: - { integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -10399,9 +9410,8 @@ packages: dev: true /espree@9.6.1: - resolution: - { integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) @@ -10409,91 +9419,76 @@ packages: dev: true /esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true /esquery@1.5.0: - resolution: - { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} /estree-walker@0.5.2: - resolution: - { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} dev: true /estree-walker@0.6.1: - resolution: - { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true /estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} /estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} /event-target-shim@5.0.1: - resolution: - { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} dev: true /eventemitter3@4.0.7: - resolution: - { integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== } + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true /eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} /events@3.3.0: - resolution: - { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } - engines: { node: '>=0.8.x' } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} dev: true /evp_bytestokey@1.0.3: - resolution: - { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10506,9 +9501,8 @@ packages: strip-final-newline: 2.0.0 /execa@6.1.0: - resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10522,9 +9516,8 @@ packages: dev: false /execa@8.0.1: - resolution: - { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -10538,24 +9531,20 @@ packages: dev: true /exponential-backoff@3.1.1: - resolution: - { integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== } + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} dev: true /extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /extendable-error@0.1.7: - resolution: - { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true /external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -10563,23 +9552,19 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} /fast-equals@3.0.3: - resolution: - { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } + resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} dev: false /fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: - resolution: - { integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10589,9 +9574,8 @@ packages: dev: true /fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10600,54 +9584,45 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-levenshtein@3.0.0: - resolution: - { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: - { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} /fast-xml-parser@4.2.5: - resolution: - { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: '>= 4.9.1' } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} /fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: - { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 dev: true /fdir@6.1.0: - resolution: - { integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg== } + resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} peerDependencies: picomatch: 2.x peerDependenciesMeta: @@ -10656,133 +9631,116 @@ packages: dev: false /fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 dev: false /figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /figures@4.0.1: - resolution: - { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: - { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@6.0.1: - resolution: - { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.1.0 dev: true /file-uri-to-path@1.0.0: - resolution: - { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true dev: false /filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: - { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /filter-obj@5.1.0: - resolution: - { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} dev: false /find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: - { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: - { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} dependencies: micromatch: 4.0.5 dev: true /first-chunk-stream@2.0.0: - resolution: - { integrity: sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==} + engines: {node: '>=0.10.0'} dependencies: readable-stream: 2.3.8 dev: true /flat-cache@3.1.0: - resolution: - { integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.9 keyv: 4.5.3 @@ -10790,14 +9748,12 @@ packages: dev: true /flatted@3.2.9: - resolution: - { integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== } + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /follow-redirects@1.15.3: - resolution: - { integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -10806,35 +9762,30 @@ packages: dev: false /for-each@0.3.3: - resolution: - { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: - { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true /foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: - { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } - engines: { node: '>= 14.17' } + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} /form-data@4.0.0: - resolution: - { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -10842,28 +9793,24 @@ packages: dev: false /format@0.2.2: - resolution: - { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} dev: true /formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false /fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -10871,9 +9818,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10881,9 +9827,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10891,41 +9836,35 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 /fs-minipass@3.0.3: - resolution: - { integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.0.3 dev: true /fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + 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 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -10934,21 +9873,18 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /fwd-stream@1.0.4: - resolution: - { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } + resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: - { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10961,9 +9897,8 @@ packages: wide-align: 1.1.5 /gauge@4.0.4: - resolution: - { integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10976,38 +9911,32 @@ packages: dev: true /gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} /get-amd-module-type@5.0.1: - resolution: - { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} /get-east-asian-width@1.2.0: - resolution: - { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true /get-func-name@2.0.2: - resolution: - { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: - resolution: - { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.2 has: 1.0.3 @@ -11015,70 +9944,59 @@ packages: has-symbols: 1.0.3 /get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} /get-port@6.1.2: - resolution: - { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /get-stdin@9.0.0: - resolution: - { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@5.2.0: - resolution: - { integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true /get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} /get-stream@8.0.1: - resolution: - { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: - resolution: - { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 dev: true /get-tsconfig@4.7.2: - resolution: - { integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== } + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: - { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /github-slugger@1.5.0: - resolution: - { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true /github-username@6.0.0: - resolution: - { integrity: sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==} + engines: {node: '>=10'} dependencies: '@octokit/rest': 18.12.0 transitivePeerDependencies: @@ -11086,29 +10004,25 @@ packages: dev: true /glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false /glob@10.3.8: - resolution: - { integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -11119,8 +10033,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -11130,9 +10043,8 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: - { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -11141,38 +10053,33 @@ packages: once: 1.4.0 /globals@11.12.0: - resolution: - { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} /globals@13.22.0: - resolution: - { integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globals@13.24.0: - resolution: - { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globalthis@1.0.3: - resolution: - { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -11182,9 +10089,8 @@ packages: slash: 3.0.0 /globby@13.2.2: - resolution: - { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -11193,9 +10099,8 @@ packages: slash: 4.0.0 /globby@14.0.1: - resolution: - { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -11206,25 +10111,22 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: - { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 dev: true /got-fetch@5.1.6(got@12.6.1): - resolution: - { integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} + engines: {node: '>=14.0.0'} peerDependencies: got: ^12.0.0 dependencies: @@ -11232,9 +10134,8 @@ packages: dev: true /got@11.8.6: - resolution: - { integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 @@ -11250,9 +10151,8 @@ packages: dev: true /got@12.6.1: - resolution: - { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -11267,23 +10167,19 @@ packages: responselike: 3.0.0 /graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: - resolution: - { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true /graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: - { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + 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 dependencies: @@ -11292,84 +10188,70 @@ packages: dev: true /graphql@15.8.0: - resolution: - { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} dev: true /graphql@16.8.1: - resolution: - { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true /grouped-queue@2.0.0: - resolution: - { integrity: sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw==} + engines: {node: '>=8.0.0'} dev: true /hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} dev: true /has-bigints@1.0.2: - resolution: - { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} /has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.0: - resolution: - { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 dev: true /has-proto@1.0.1: - resolution: - { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: - { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: - resolution: - { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} /has@1.0.3: - resolution: - { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 /hash-base@3.1.0: - resolution: - { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -11377,37 +10259,32 @@ packages: dev: true /hash.js@1.1.7: - resolution: - { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /hasown@2.0.0: - resolution: - { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: - { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /headers-polyfill@4.0.2: - resolution: - { integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw== } + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hexer@1.5.0: - resolution: - { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: ansi-color: 0.2.1 @@ -11417,13 +10294,11 @@ packages: dev: false /highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true /hmac-drbg@1.0.1: - resolution: - { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -11431,43 +10306,37 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 /hosted-git-info@6.1.1: - resolution: - { integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: lru-cache: 7.18.3 dev: true /hot-shots@10.0.0: - resolution: - { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} + engines: {node: '>=10.0.0'} optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: - { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -11476,13 +10345,11 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-call@5.3.0: - resolution: - { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -11495,9 +10362,8 @@ packages: dev: true /http-proxy-agent@4.0.1: - resolution: - { integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2(supports-color@9.4.0) @@ -11507,9 +10373,8 @@ packages: dev: true /http-proxy-agent@5.0.0: - resolution: - { integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2(supports-color@9.4.0) @@ -11519,31 +10384,27 @@ packages: dev: true /http2-client@1.3.5: - resolution: - { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} dev: true /http2-wrapper@1.0.3: - resolution: - { integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 dev: true /http2-wrapper@2.2.0: - resolution: - { integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -11551,58 +10412,49 @@ packages: - supports-color /human-id@1.0.2: - resolution: - { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true /human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} /human-signals@3.0.1: - resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} dev: false /human-signals@5.0.0: - resolution: - { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } - engines: { node: '>=16.17.0' } + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /humanize-ms@1.2.1: - resolution: - { integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== } + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} dependencies: ms: 2.1.3 dev: true /husky@9.0.11: - resolution: - { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} hasBin: true dev: true /hyperlinker@1.0.0: - resolution: - { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} /iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /iconv-lite@0.6.3: - resolution: - { integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} requiresBuild: true dependencies: safer-buffer: 2.1.2 @@ -11610,46 +10462,39 @@ packages: optional: true /idb-wrapper@1.7.2: - resolution: - { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } + resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} dev: true /ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} /ignore-walk@4.0.1: - resolution: - { integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==} + engines: {node: '>=10'} dependencies: minimatch: 3.1.2 dev: true /ignore-walk@6.0.3: - resolution: - { integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minimatch: 9.0.3 dev: true /ignore@5.2.4: - resolution: - { integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} /import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: - { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} dependencies: acorn: 8.10.0 acorn-import-assertions: 1.9.0(acorn@8.10.0) @@ -11658,53 +10503,44 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} /indent-string@5.0.0: - resolution: - { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: false /indexof@0.0.1: - resolution: - { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: true /infer-owner@1.0.4: - resolution: - { integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== } + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true /inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@4.1.2: - resolution: - { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /ink@3.2.0(react@17.0.2): - resolution: - { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -11742,9 +10578,8 @@ packages: dev: true /inquirer@8.2.6: - resolution: - { integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -11764,9 +10599,8 @@ packages: dev: true /internal-slot@1.0.5: - resolution: - { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -11774,31 +10608,26 @@ packages: dev: true /interpret@1.4.0: - resolution: - { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} /ip@2.0.0: - resolution: - { integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== } + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: true /is-alphabetical@1.0.4: - resolution: - { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true /is-alphanumerical@1.0.4: - resolution: - { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true /is-array-buffer@3.0.2: - resolution: - { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -11806,405 +10635,340 @@ packages: dev: true /is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: - { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} /is-bigint@1.0.4: - resolution: - { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object@1.1.2: - resolution: - { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-buffer@2.0.5: - resolution: - { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: true /is-builtin-module@3.2.1: - resolution: - { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module@2.13.0: - resolution: - { integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-core-module@2.13.1: - resolution: - { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 /is-date-object@1.0.5: - resolution: - { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-decimal@1.0.4: - resolution: - { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true /is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true /is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: false /is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} /is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-fullwidth-code-point@5.0.0: - resolution: - { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: - { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true /is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-interactive@1.0.0: - resolution: - { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} dev: true /is-lambda@1.0.1: - resolution: - { integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== } + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} dev: true /is-negative-zero@2.0.2: - resolution: - { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} dev: true /is-node-process@1.2.0: - resolution: - { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true /is-number-object@1.0.7: - resolution: - { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} /is-object@0.1.2: - resolution: - { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } + resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true /is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: false /is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@2.1.0: - resolution: - { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} /is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} /is-plain-object@5.0.0: - resolution: - { integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} dev: true /is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-retry-allowed@1.2.0: - resolution: - { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true /is-scoped@2.1.0: - resolution: - { integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} + engines: {node: '>=8'} dependencies: scoped-regex: 2.1.0 dev: true /is-shared-array-buffer@1.0.2: - resolution: - { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-stream@3.0.0: - resolution: - { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /is-string@1.0.7: - resolution: - { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-subdir@1.2.0: - resolution: - { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: - { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.12: - resolution: - { integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 dev: true /is-unicode-supported@0.1.0: - resolution: - { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} dev: true /is-unicode-supported@1.3.0: - resolution: - { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: false /is-url-superb@4.0.0: - resolution: - { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: false /is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: false /is-utf8@0.2.1: - resolution: - { integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== } + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true /is-weakref@1.0.2: - resolution: - { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true /is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: - { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } + resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} dev: true /isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true /isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isbinaryfile@4.0.10: - resolution: - { integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} dev: true /isbinaryfile@5.0.0: - resolution: - { integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} + engines: {node: '>= 14.0.0'} dev: true /isbuffer@0.0.0: - resolution: - { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } + resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} dev: true /iserror@0.0.2: - resolution: - { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} dev: false /isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} dev: false /jackspeak@2.3.5: - resolution: - { integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -12212,9 +10976,8 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: - { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} + engines: {node: '>=10'} dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -12224,9 +10987,8 @@ packages: dev: false /jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -12235,15 +10997,13 @@ packages: minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: - { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false /jest-validate@27.5.1: - resolution: - { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -12254,121 +11014,100 @@ packages: dev: false /jiti@1.21.0: - resolution: - { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /js-tokens@8.0.3: - resolution: - { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: - { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: - { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /jsesc@3.0.2: - resolution: - { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} /json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-parse-even-better-errors@3.0.0: - resolution: - { integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json-stringify-nice@1.1.4: - resolution: - { integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== } + resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} dev: true /json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true /jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} /jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -12376,82 +11115,69 @@ packages: dev: true /jsonparse@1.3.1: - resolution: - { integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== } - engines: { '0': node >= 0.2.0 } + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} dev: true /jsonpointer@5.0.1: - resolution: - { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} dev: false /junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} dev: false /just-diff-apply@5.5.0: - resolution: - { integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== } + resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} dev: true /just-diff@5.2.0: - resolution: - { integrity: sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== } + resolution: {integrity: sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==} dev: true /keep-func-props@4.0.1: - resolution: - { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} + engines: {node: '>=12.20.0'} dependencies: mimic-fn: 4.0.0 dev: false /keyv@4.5.3: - resolution: - { integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== } + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 /kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: false /kleur@4.1.5: - resolution: - { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /kysely@0.27.3: - resolution: - { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} dev: true /lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: - { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } + resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -12459,8 +11185,7 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: - { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } + resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -12474,27 +11199,23 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: - { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } + resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} dev: true /level-fix-range@2.0.0: - resolution: - { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } + resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: - { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } + resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: - { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } + resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -12505,15 +11226,13 @@ packages: dev: true /level-peek@1.0.6: - resolution: - { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } + resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: - { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } + resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -12522,8 +11241,7 @@ packages: dev: true /levelup@0.18.6: - resolution: - { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } + resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -12535,40 +11253,34 @@ packages: dev: true /leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: false /levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: - { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} dev: true /lilconfig@3.1.1: - resolution: - { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} dev: true /lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lint-staged@15.2.2: - resolution: - { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 @@ -12586,9 +11298,8 @@ packages: dev: true /listr2@8.0.1: - resolution: - { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -12599,9 +11310,8 @@ packages: dev: true /load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -12610,9 +11320,8 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: - { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -12621,139 +11330,115 @@ packages: dev: true /local-pkg@0.5.0: - resolution: - { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.4.2 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: - { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false /lodash._reinterpolate@3.0.0: - resolution: - { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true /lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} /lodash.chunk@4.2.0: - resolution: - { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } + resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false /lodash.compact@3.0.1: - resolution: - { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } + resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} dev: false /lodash.debounce@4.0.8: - resolution: - { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.defaults@4.2.0: - resolution: - { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: false /lodash.difference@4.5.0: - resolution: - { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: false /lodash.flatten@4.4.0: - resolution: - { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false /lodash.get@4.4.2: - resolution: - { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false /lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.pick@4.4.0: - resolution: - { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: false /lodash.set@4.3.2: - resolution: - { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: false /lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true /lodash.template@4.5.0: - resolution: - { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: - { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: - { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: false /lodash@4.17.21: - resolution: - { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} /log-process-errors@8.0.0: - resolution: - { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} + engines: {node: '>=12.20.0'} dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -12765,18 +11450,16 @@ packages: dev: false /log-symbols@4.1.0: - resolution: - { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 dev: true /log-update@6.0.0: - resolution: - { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -12786,156 +11469,132 @@ packages: dev: true /long@2.4.0: - resolution: - { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} + engines: {node: '>=0.6'} dev: false /long@5.2.3: - resolution: - { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} /longest-streak@2.0.4: - resolution: - { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true /loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: - { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lowercase-keys@2.0.0: - resolution: - { integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} dev: true /lowercase-keys@3.0.0: - resolution: - { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /lru-cache@10.2.0: - resolution: - { integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} dev: true /lru-cache@4.1.5: - resolution: - { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /lru-cache@7.18.3: - resolution: - { integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} dev: true /ltgt@2.2.1: - resolution: - { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} dev: true /luxon@3.4.3: - resolution: - { integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} dev: false /macos-release@3.2.0: - resolution: - { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /magic-string@0.22.5: - resolution: - { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: - { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } + resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: - { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.30.4: - resolution: - { integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.5: - resolution: - { integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /make-fetch-happen@10.2.1: - resolution: - { integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: agentkeepalive: 4.5.0 cacache: 16.1.3 @@ -12959,9 +11618,8 @@ packages: dev: true /make-fetch-happen@11.1.1: - resolution: - { integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: agentkeepalive: 4.5.0 cacache: 17.1.4 @@ -12983,9 +11641,8 @@ packages: dev: true /make-fetch-happen@9.1.0: - resolution: - { integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} dependencies: agentkeepalive: 4.5.0 cacache: 15.3.0 @@ -13009,33 +11666,28 @@ packages: dev: true /map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} dev: true /map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} dev: true /map-obj@5.0.2: - resolution: - { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /markdown-table@2.0.0: - resolution: - { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: - { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -13043,8 +11695,7 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: - { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -13052,8 +11703,7 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: - { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -13062,8 +11712,7 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: - { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.12 mdast-util-to-string: 2.0.0 @@ -13075,15 +11724,13 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: - { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: - { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -13093,30 +11740,26 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: - { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: - { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: - { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: - { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -13128,8 +11771,7 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: - { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: '@types/unist': 2.0.8 longest-streak: 2.0.4 @@ -13140,14 +11782,12 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: - { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true /mem-fs-editor@9.7.0(mem-fs@2.3.0): - resolution: - { integrity: sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg== } - engines: { node: '>=12.10.0' } + resolution: {integrity: sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==} + engines: {node: '>=12.10.0'} peerDependencies: mem-fs: ^2.1.0 peerDependenciesMeta: @@ -13168,9 +11808,8 @@ packages: dev: true /mem-fs@2.3.0: - resolution: - { integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==} + engines: {node: '>=12'} dependencies: '@types/node': 15.14.9 '@types/vinyl': 2.0.7 @@ -13179,14 +11818,12 @@ packages: dev: true /memoize-one@6.0.0: - resolution: - { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false /meow@6.1.1: - resolution: - { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -13202,35 +11839,29 @@ packages: dev: true /merge-options@3.0.4: - resolution: - { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} /merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} /micro-api-client@3.3.0: - resolution: - { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } + resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} dev: false /micro-memoize@4.1.2: - resolution: - { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } + resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} dev: false /micromark-extension-footnote@0.3.2: - resolution: - { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -13238,15 +11869,13 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: - { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: - { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -13254,8 +11883,7 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: - { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -13263,8 +11891,7 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: - { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -13272,13 +11899,11 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: - { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: - { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -13286,8 +11911,7 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: - { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -13300,8 +11924,7 @@ packages: dev: true /micromark@2.11.4: - resolution: - { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -13310,16 +11933,14 @@ packages: dev: true /micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: - { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: bn.js: 4.12.0 @@ -13327,93 +11948,78 @@ packages: dev: true /mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} /mimic-fn@4.0.0: - resolution: - { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} /mimic-response@1.0.1: - resolution: - { integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} dev: true /mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} /mimic-response@4.0.0: - resolution: - { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimalistic-crypto-utils@1.0.1: - resolution: - { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true /minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 /minimatch@7.4.6: - resolution: - { integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -13421,21 +12027,18 @@ packages: dev: true /minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass-collect@1.0.2: - resolution: - { integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true /minipass-fetch@1.4.1: - resolution: - { integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} dependencies: minipass: 3.3.6 minipass-sized: 1.0.3 @@ -13445,9 +12048,8 @@ packages: dev: true /minipass-fetch@2.1.2: - resolution: - { integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: minipass: 3.3.6 minipass-sized: 1.0.3 @@ -13457,9 +12059,8 @@ packages: dev: true /minipass-fetch@3.0.4: - resolution: - { integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.0.3 minipass-sized: 1.0.3 @@ -13469,73 +12070,63 @@ packages: dev: true /minipass-flush@1.0.5: - resolution: - { integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true /minipass-json-stream@1.0.1: - resolution: - { integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== } + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} dependencies: jsonparse: 1.3.1 minipass: 3.3.6 dev: true /minipass-pipeline@1.2.4: - resolution: - { integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} dependencies: minipass: 3.3.6 dev: true /minipass-sized@1.0.3: - resolution: - { integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} dependencies: minipass: 3.3.6 dev: true /minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 /minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} /minipass@7.0.3: - resolution: - { integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 yallist: 4.0.0 /mixme@0.5.9: - resolution: - { integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} dev: true /mkdirp-infer-owner@2.0.0: - resolution: - { integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 infer-owner: 1.0.4 @@ -13543,20 +12134,17 @@ packages: dev: true /mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true /mkdirp@3.0.1: - resolution: - { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true /mlly@1.4.2: - resolution: - { integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== } + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 @@ -13565,9 +12153,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -13575,44 +12162,37 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: - { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} /moize@6.1.6: - resolution: - { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } + resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: - { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: - { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false /ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /msw@2.2.8(typescript@5.4.2): - resolution: - { integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: @@ -13642,9 +12222,8 @@ packages: dev: true /multimatch@5.0.0: - resolution: - { integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} + engines: {node: '>=10'} dependencies: '@types/minimatch': 3.0.5 array-differ: 3.0.0 @@ -13654,19 +12233,16 @@ packages: dev: true /mute-stream@0.0.8: - resolution: - { integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== } + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true /mute-stream@1.0.0: - resolution: - { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 @@ -13674,61 +12250,51 @@ packages: dev: true /nan@2.18.0: - resolution: - { integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== } + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: - { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true /nanoid@5.0.6: - resolution: - { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } - engines: { node: ^18 || >=20 } + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} + engines: {node: ^18 || >=20} hasBin: true dev: true /nanospinner@1.1.0: - resolution: - { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /natural-orderby@2.0.3: - resolution: - { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} /negotiator@0.6.3: - resolution: - { integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} dev: true /nested-error-stacks@2.1.1: - resolution: - { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false /netlify-headers-parser@7.1.2: - resolution: - { integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 @@ -13739,9 +12305,8 @@ packages: dev: false /netlify-redirect-parser@14.2.0: - resolution: - { integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 @@ -13751,9 +12316,8 @@ packages: dev: false /netlify@13.1.10: - resolution: - { integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.22.0 lodash-es: 4.17.21 @@ -13765,31 +12329,27 @@ packages: dev: false /no-case@3.0.4: - resolution: - { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-fetch-h2@2.3.0: - resolution: - { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -13799,9 +12359,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -13809,15 +12368,13 @@ packages: dev: false /node-gyp-build@4.6.1: - resolution: - { integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== } + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false /node-gyp@8.4.1: - resolution: - { integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== } - engines: { node: '>= 10.12.0' } + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} hasBin: true dependencies: env-paths: 2.2.1 @@ -13836,9 +12393,8 @@ packages: dev: true /node-gyp@9.4.0: - resolution: - { integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg== } - engines: { node: ^12.13 || ^14.13 || >=16 } + resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} + engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 @@ -13857,55 +12413,47 @@ packages: dev: true /node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false /node-readfiles@0.2.0: - resolution: - { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: - { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /node-source-walk@6.0.2: - resolution: - { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.23.9 dev: false /node-stream-zip@1.15.0: - resolution: - { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} dev: false /nopt@5.0.0: - resolution: - { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true dependencies: abbrev: 1.1.1 /nopt@6.0.0: - resolution: - { integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true dependencies: abbrev: 1.1.1 dev: true /normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.6 @@ -13914,9 +12462,8 @@ packages: dev: true /normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 @@ -13924,9 +12471,8 @@ packages: validate-npm-package-license: 3.0.4 /normalize-package-data@5.0.0: - resolution: - { integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 is-core-module: 2.13.1 @@ -13935,81 +12481,69 @@ packages: dev: true /normalize-path@2.1.1: - resolution: - { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} /normalize-url@6.1.0: - resolution: - { integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== } - engines: { node: '>=10' } + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} dev: true /normalize-url@8.0.0: - resolution: - { integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} /npm-bundled@1.1.2: - resolution: - { integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== } + resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} dependencies: npm-normalize-package-bin: 1.0.1 dev: true /npm-bundled@3.0.0: - resolution: - { integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: npm-normalize-package-bin: 3.0.1 dev: true /npm-install-checks@4.0.0: - resolution: - { integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} + engines: {node: '>=10'} dependencies: semver: 7.6.0 dev: true /npm-install-checks@6.2.0: - resolution: - { integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.6.0 dev: true /npm-normalize-package-bin@1.0.1: - resolution: - { integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== } + resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} dev: true /npm-normalize-package-bin@2.0.0: - resolution: - { integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true /npm-normalize-package-bin@3.0.1: - resolution: - { integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /npm-package-arg@10.1.0: - resolution: - { integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 @@ -14018,9 +12552,8 @@ packages: dev: true /npm-package-arg@8.1.5: - resolution: - { integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 semver: 7.6.0 @@ -14028,9 +12561,8 @@ packages: dev: true /npm-packlist@3.0.0: - resolution: - { integrity: sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==} + engines: {node: '>=10'} hasBin: true dependencies: glob: 7.2.3 @@ -14040,16 +12572,14 @@ packages: dev: true /npm-packlist@7.0.4: - resolution: - { integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: ignore-walk: 6.0.3 dev: true /npm-pick-manifest@6.1.1: - resolution: - { integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== } + resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} dependencies: npm-install-checks: 4.0.0 npm-normalize-package-bin: 1.0.1 @@ -14058,9 +12588,8 @@ packages: dev: true /npm-pick-manifest@8.0.2: - resolution: - { integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: npm-install-checks: 6.2.0 npm-normalize-package-bin: 3.0.1 @@ -14069,9 +12598,8 @@ packages: dev: true /npm-registry-fetch@12.0.2: - resolution: - { integrity: sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16 } + resolution: {integrity: sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} dependencies: make-fetch-happen: 10.2.1 minipass: 3.3.6 @@ -14085,9 +12613,8 @@ packages: dev: true /npm-registry-fetch@14.0.5: - resolution: - { integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: make-fetch-happen: 11.1.1 minipass: 5.0.0 @@ -14101,23 +12628,20 @@ packages: dev: true /npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 /npm-run-path@5.1.0: - resolution: - { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 /npm@10.5.0: - resolution: - { integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: false bundledDependencies: @@ -14193,8 +12717,7 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: - { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -14202,9 +12725,8 @@ packages: set-blocking: 2.0.0 /npmlog@6.0.2: - resolution: - { integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 @@ -14213,15 +12735,13 @@ packages: dev: true /oas-kit-common@1.0.8: - resolution: - { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: - { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -14229,8 +12749,7 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: - { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -14241,13 +12760,11 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: - { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} dev: true /oas-validator@5.0.8: - resolution: - { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -14260,17 +12777,14 @@ packages: dev: true /object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.12.3: - resolution: - { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@0.2.0: - resolution: - { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } + resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -14279,25 +12793,21 @@ packages: dev: true /object-keys@0.4.0: - resolution: - { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true /object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-treeify@1.1.33: - resolution: - { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} /object.assign@4.1.4: - resolution: - { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14306,9 +12816,8 @@ packages: dev: true /object.fromentries@2.0.7: - resolution: - { integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14316,8 +12825,7 @@ packages: dev: true /object.groupby@1.0.1: - resolution: - { integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== } + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14326,9 +12834,8 @@ packages: dev: true /object.values@1.1.7: - resolution: - { integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14336,14 +12843,12 @@ packages: dev: true /obuf@1.1.2: - resolution: - { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /oclif@4.5.7: - resolution: - { integrity: sha512-We/j5WbemIw6DSbwFUpThrUGF2dv37CpyyAC83a+oAwBQELx2KddfrXxSR6Nv7hmkwf3nfuKGb89uLl35qOOLA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-We/j5WbemIw6DSbwFUpThrUGF2dv37CpyyAC83a+oAwBQELx2KddfrXxSR6Nv7hmkwf3nfuKGb89uLl35qOOLA==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 @@ -14375,39 +12880,33 @@ packages: dev: true /octal@1.0.0: - resolution: - { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } + resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} dev: true /omit.js@2.0.2: - resolution: - { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} dev: false /once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: - { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: - { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -14416,21 +12915,18 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: - { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: - { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} + engines: {node: '>=0.10'} dev: false /optimism@0.17.5: - resolution: - { integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== } + resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} dependencies: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 @@ -14438,9 +12934,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -14451,9 +12946,8 @@ packages: dev: true /ora@5.4.1: - resolution: - { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -14467,219 +12961,189 @@ packages: dev: true /os-name@5.1.0: - resolution: - { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: - { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /outdent@0.5.0: - resolution: - { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true /outvariant@1.4.2: - resolution: - { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} dev: true /p-cancelable@2.1.1: - resolution: - { integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} dev: true /p-cancelable@3.0.0: - resolution: - { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} /p-event@4.2.0: - resolution: - { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: - { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: - { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: - { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: - { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} /p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: - { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: - { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} /p-map@4.0.0: - resolution: - { integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 dev: true /p-map@5.5.0: - resolution: - { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 dev: false /p-queue@6.6.2: - resolution: - { integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 dev: true /p-queue@8.0.1: - resolution: - { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: - { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} dev: false /p-retry@5.1.2: - resolution: - { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} dependencies: p-finally: 1.0.0 /p-timeout@5.1.0: - resolution: - { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} dev: false /p-timeout@6.1.2: - resolution: - { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} dev: false /p-transform@1.3.0: - resolution: - { integrity: sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg== } - engines: { node: '>=12.10.0' } + resolution: {integrity: sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==} + engines: {node: '>=12.10.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) p-queue: 6.6.2 @@ -14688,28 +13152,24 @@ packages: dev: true /p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /p-wait-for@4.1.0: - resolution: - { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} + engines: {node: '>=12'} dependencies: p-timeout: 5.1.0 dev: false /packet-reader@1.0.0: - resolution: - { integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== } + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} dev: true /pacote@12.0.3: - resolution: - { integrity: sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16 } + resolution: {integrity: sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} hasBin: true dependencies: '@npmcli/git': 2.1.0 @@ -14737,9 +13197,8 @@ packages: dev: true /pacote@15.2.0: - resolution: - { integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: '@npmcli/git': 4.1.0 @@ -14766,28 +13225,24 @@ packages: dev: true /papaparse@5.4.1: - resolution: - { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} dev: false /param-case@3.0.4: - resolution: - { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 /parse-asn1@5.1.6: - resolution: - { integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== } + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -14797,9 +13252,8 @@ packages: dev: true /parse-conflict-json@2.0.2: - resolution: - { integrity: sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: json-parse-even-better-errors: 2.3.1 just-diff: 5.2.0 @@ -14807,8 +13261,7 @@ packages: dev: true /parse-entities@2.0.0: - resolution: - { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -14819,18 +13272,16 @@ packages: dev: true /parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.23.5 error-ex: 1.3.2 @@ -14838,144 +13289,120 @@ packages: lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: - { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: false /parse-ms@3.0.0: - resolution: - { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} dev: true /parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /pascal-case@3.1.2: - resolution: - { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: - { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: - { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} dev: true /path-browserify@1.0.1: - resolution: - { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-case@3.0.4: - resolution: - { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} /path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} /path-key@4.0.0: - resolution: - { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} /path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: - resolution: - { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.0 minipass: 7.0.3 dev: true /path-to-regexp@6.2.1: - resolution: - { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true /path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} /path-type@5.0.0: - resolution: - { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} /pathe@1.1.1: - resolution: - { integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /pathval@1.1.1: - resolution: - { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -14985,32 +13412,27 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: - { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: true optional: true /pg-connection-string@2.6.2: - resolution: - { integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== } + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} dev: true /pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} dev: true /pg-numeric@1.0.2: - resolution: - { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} dev: true /pg-pool@3.6.1(pg@8.11.3): - resolution: - { integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== } + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} peerDependencies: pg: '>=8.0' dependencies: @@ -15018,14 +13440,12 @@ packages: dev: true /pg-protocol@1.6.0: - resolution: - { integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== } + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} dev: true /pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -15035,9 +13455,8 @@ packages: dev: true /pg-types@4.0.2: - resolution: - { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -15049,9 +13468,8 @@ packages: dev: true /pg@8.11.3: - resolution: - { integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -15070,65 +13488,55 @@ packages: dev: true /pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: - { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} /pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@2.3.0: - resolution: - { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} dev: true /pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: - { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 @@ -15136,15 +13544,13 @@ packages: dev: true /pluralize@8.0.0: - resolution: - { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.35): - resolution: - { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -15155,75 +13561,64 @@ packages: dev: false /postcss@8.4.35: - resolution: - { integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 /postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} dev: true /postgres-array@3.0.2: - resolution: - { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} dev: true /postgres-bytea@1.0.0: - resolution: - { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} dev: true /postgres-bytea@3.0.0: - resolution: - { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} dev: true /postgres-date@2.1.0: - resolution: - { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} dev: true /postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: - { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} dev: true /postgres-range@1.1.4: - resolution: - { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: - { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -15243,9 +13638,8 @@ packages: dev: false /preferred-pm@3.1.2: - resolution: - { integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -15254,27 +13648,23 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier@2.8.8: - resolution: - { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true /pretty-bytes@5.6.0: - resolution: - { integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} dev: true /pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -15282,9 +13672,8 @@ packages: dev: false /pretty-format@29.7.0: - resolution: - { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -15292,65 +13681,54 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: - { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} dependencies: parse-ms: 3.0.0 dev: false /proc-log@1.0.0: - resolution: - { integrity: sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg== } + resolution: {integrity: sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==} dev: true /proc-log@3.0.0: - resolution: - { integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /process-es6@0.11.6: - resolution: - { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} dev: true /process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process@0.10.1: - resolution: - { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} + engines: {node: '>= 0.6.0'} dev: false /process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} /promise-all-reject-late@1.0.1: - resolution: - { integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== } + resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} dev: true /promise-call-limit@1.0.2: - resolution: - { integrity: sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== } + resolution: {integrity: sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==} dev: true /promise-inflight@1.0.1: - resolution: - { integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== } + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: bluebird: '*' peerDependenciesMeta: @@ -15359,26 +13737,23 @@ packages: dev: true /promise-retry@2.0.1: - resolution: - { integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} dependencies: err-code: 2.0.3 retry: 0.12.0 dev: true /prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -15386,9 +13761,8 @@ packages: dev: true /protobufjs@7.2.5: - resolution: - { integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -15405,34 +13779,28 @@ packages: long: 5.2.3 /proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false /prr@0.0.0: - resolution: - { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } + resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} dev: true /prr@1.0.1: - resolution: - { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true /ps-list@8.1.1: - resolution: - { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /pseudomap@1.0.2: - resolution: - { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /public-encrypt@4.0.3: - resolution: - { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -15443,73 +13811,61 @@ packages: dev: true /pump@3.0.0: - resolution: - { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 /punycode@2.3.0: - resolution: - { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} /qs@6.11.2: - resolution: - { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} /queue-tick@1.0.1: - resolution: - { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false /quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} dev: true /quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} /quote-unquote@1.0.0: - resolution: - { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: false /rambda@7.5.0: - resolution: - { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} dev: true /randombytes@2.1.0: - resolution: - { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: - { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /react-devtools-core@4.28.0: - resolution: - { integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== } + resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -15519,24 +13875,20 @@ packages: dev: true /react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false /react-is@18.2.0: - resolution: - { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: - { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^17.0.2 dependencies: @@ -15547,42 +13899,37 @@ packages: dev: true /react@17.0.2: - resolution: - { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /read-cmd-shim@3.0.1: - resolution: - { integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true /read-package-json-fast@2.0.3: - resolution: - { integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} + engines: {node: '>=10'} dependencies: json-parse-even-better-errors: 2.3.1 npm-normalize-package-bin: 1.0.1 dev: true /read-package-json-fast@3.0.2: - resolution: - { integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: json-parse-even-better-errors: 3.0.0 npm-normalize-package-bin: 3.0.1 dev: true /read-package-json@6.0.4: - resolution: - { integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: glob: 10.3.8 json-parse-even-better-errors: 3.0.0 @@ -15591,9 +13938,8 @@ packages: dev: true /read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -15601,9 +13947,8 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: - { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -15611,9 +13956,8 @@ packages: dev: false /read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -15621,9 +13965,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 @@ -15632,9 +13975,8 @@ packages: dev: true /read-pkg@7.1.0: - resolution: - { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 @@ -15643,9 +13985,8 @@ packages: dev: false /read-yaml-file@1.1.0: - resolution: - { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -15654,8 +13995,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -15664,8 +14004,7 @@ packages: dev: true /readable-stream@1.1.14: - resolution: - { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -15674,8 +14013,7 @@ packages: dev: true /readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -15686,18 +14024,16 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 /readable-stream@4.4.2: - resolution: - { integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -15707,15 +14043,13 @@ packages: dev: true /readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: false /readdir-scoped-modules@1.1.0: - resolution: - { integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== } + resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} deprecated: This functionality has been moved to @npmcli/fs dependencies: debuglog: 1.0.1 @@ -15725,73 +14059,62 @@ packages: dev: true /readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: - { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.6 /redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: - { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: - { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} dev: true /regenerate-unicode-properties@10.1.1: - resolution: - { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.14.0: - resolution: - { integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== } + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /regenerator-transform@0.15.2: - resolution: - { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.1 dev: true /regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true /regexp.prototype.flags@1.5.1: - resolution: - { integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15799,15 +14122,13 @@ packages: dev: true /regexpp@3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: true /regexpu-core@5.3.2: - resolution: - { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -15818,25 +14139,22 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: - { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /relaxed-json@1.0.3: - resolution: - { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} + engines: {node: '>= 0.10.0'} hasBin: true dependencies: chalk: 2.4.2 @@ -15844,8 +14162,7 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: - { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -15854,16 +14171,14 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: - { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: - { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -15872,8 +14187,7 @@ packages: dev: true /remark-parse@9.0.0: - resolution: - { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -15881,36 +14195,30 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: - { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} /repeat-string@1.6.1: - resolution: - { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true /replace-ext@1.0.1: - resolution: - { integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} dev: true /require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} /require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: - { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -15920,9 +14228,8 @@ packages: dev: false /require-in-the-middle@7.2.0: - resolution: - { integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -15932,36 +14239,29 @@ packages: dev: true /require-main-filename@2.0.0: - resolution: - { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /require-package-name@2.0.1: - resolution: - { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false /resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} /resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} /resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} /resolve-pkg-maps@1.0.0: - resolution: - { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} /resolve@1.22.6: - resolution: - { integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== } + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -15969,8 +14269,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.4: - resolution: - { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -15979,91 +14278,78 @@ packages: dev: false /response-iterator@0.2.6: - resolution: - { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} dev: true /responselike@2.0.1: - resolution: - { integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== } + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: lowercase-keys: 2.0.0 dev: true /responselike@3.0.0: - resolution: - { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.12.0: - resolution: - { integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} dev: true /retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} /reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} /rfdc@1.3.0: - resolution: - { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 /rimraf@5.0.5: - resolution: - { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true dependencies: glob: 10.3.8 dev: true /ripemd160@2.0.2: - resolution: - { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.13.0): - resolution: - { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} + engines: {node: '>=6'} peerDependencies: rollup: '>=0.45.2' dependencies: @@ -16075,9 +14361,8 @@ packages: dev: true /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.2): - resolution: - { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 @@ -16090,9 +14375,8 @@ packages: dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.0): - resolution: - { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -16108,8 +14392,7 @@ packages: dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: - { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } + resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -16118,8 +14401,7 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: - { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -16130,38 +14412,33 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: - { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: - { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } + resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: - { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } + resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: - { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true /rollup@4.13.0: - resolution: - { integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 @@ -16183,40 +14460,34 @@ packages: dev: true /run-applescript@7.0.0: - resolution: - { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} dev: false /run-async@2.4.1: - resolution: - { integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} dev: true /run-async@3.0.0: - resolution: - { integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} dev: true /run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: - { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.0.1: - resolution: - { integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16225,21 +14496,17 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} /safe-json-stringify@1.2.0: - resolution: - { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} dev: false /safe-regex-test@1.0.0: - resolution: - { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16247,66 +14514,56 @@ packages: dev: true /safe-resolve@1.0.0: - resolution: - { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } + resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} dev: true /safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /scheduler@0.20.2: - resolution: - { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /scoped-regex@2.1.0: - resolution: - { integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} + engines: {node: '>=8'} dev: true /semver@2.3.2: - resolution: - { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } + resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} hasBin: true dev: true /semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true /semver@7.5.4: - resolution: - { integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.6.0: - resolution: - { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: - { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -16314,13 +14571,11 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-name@2.0.1: - resolution: - { integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 functions-have-names: 1.2.3 @@ -16328,8 +14583,7 @@ packages: dev: true /sha.js@2.4.11: - resolution: - { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -16337,40 +14591,34 @@ packages: dev: true /shebang-command@1.2.0: - resolution: - { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: - { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} /shell-quote@1.8.1: - resolution: - { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -16378,45 +14626,38 @@ packages: rechoir: 0.6.2 /shimmer@1.2.1: - resolution: - { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} /should-equal@2.0.0: - resolution: - { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: - { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: - { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: - { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} dev: true /should-util@1.0.1: - resolution: - { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} dev: true /should@13.2.3: - resolution: - { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -16426,9 +14667,8 @@ packages: dev: true /shx@0.3.4: - resolution: - { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} hasBin: true dependencies: minimist: 1.2.8 @@ -16436,38 +14676,32 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 /siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true /signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signal-exit@4.0.2: - resolution: - { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} dev: false /signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} dev: true /sigstore@1.9.0: - resolution: - { integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: '@sigstore/bundle': 1.1.0 @@ -16480,20 +14714,17 @@ packages: dev: true /simple-swizzle@0.2.2: - resolution: - { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false /size-limit@11.1.1: - resolution: - { integrity: sha512-0d06gwp+hBuhNQyAyewalfMLhGCnjt15MyDxqouzxN4+85vjAUdRKSNuR1kcyxaS9Ml98q120U0PgRPocPJWiw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-0d06gwp+hBuhNQyAyewalfMLhGCnjt15MyDxqouzxN4+85vjAUdRKSNuR1kcyxaS9Ml98q120U0PgRPocPJWiw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 @@ -16506,25 +14737,21 @@ packages: dev: true /slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} /slash@4.0.0: - resolution: - { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} /slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: - resolution: - { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -16532,42 +14759,37 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: - { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: - { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true /smart-buffer@4.2.0: - resolution: - { integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== } - engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true /smartwrap@2.0.2: - resolution: - { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -16579,17 +14801,15 @@ packages: dev: true /snake-case@3.0.4: - resolution: - { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /socks-proxy-agent@6.2.1: - resolution: - { integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -16599,9 +14819,8 @@ packages: dev: true /socks-proxy-agent@7.0.0: - resolution: - { integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -16611,30 +14830,26 @@ packages: dev: true /socks@2.7.1: - resolution: - { integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== } - engines: { node: '>= 10.13.0', npm: '>= 3.0.0' } + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: ip: 2.0.0 smart-buffer: 4.2.0 dev: true /sort-keys@4.2.0: - resolution: - { integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} + engines: {node: '>=8'} dependencies: is-plain-obj: 2.1.0 dev: true /sort-object-keys@1.1.3: - resolution: - { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.8.0: - resolution: - { integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g== } + resolution: {integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -16647,182 +14862,154 @@ packages: dev: true /source-map-js@1.0.2: - resolution: - { integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} /source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: - { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: - { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.15 /spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.15 /spdx-license-ids@3.0.15: - resolution: - { integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== } + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} /split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} dev: true /sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} /ssri@10.0.5: - resolution: - { integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minipass: 7.0.3 dev: true /ssri@8.0.1: - resolution: - { integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true /ssri@9.0.1: - resolution: - { integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: minipass: 3.3.6 dev: true /stack-generator@2.0.10: - resolution: - { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: - resolution: - { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false /statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.6.0: - resolution: - { integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== } + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true /stream-transform@2.1.3: - resolution: - { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true /streamx@2.15.1: - resolution: - { integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== } + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false /strict-event-emitter@0.5.1: - resolution: - { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} dev: true /string-range@1.2.2: - resolution: - { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } + resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} dev: true /string-template@0.2.1: - resolution: - { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: false /string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 /string-width@7.0.0: - resolution: - { integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -16830,9 +15017,8 @@ packages: dev: true /string.prototype.trim@1.2.8: - resolution: - { integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -16840,8 +15026,7 @@ packages: dev: true /string.prototype.trimend@1.0.7: - resolution: - { integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== } + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -16849,8 +15034,7 @@ packages: dev: true /string.prototype.trimstart@1.0.7: - resolution: - { integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== } + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -16858,145 +15042,123 @@ packages: dev: true /string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true /string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 /strip-bom-buf@1.0.0: - resolution: - { integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==} + engines: {node: '>=4'} dependencies: is-utf8: 0.2.1 dev: true /strip-bom-stream@2.0.0: - resolution: - { integrity: sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==} + engines: {node: '>=0.10.0'} dependencies: first-chunk-stream: 2.0.0 strip-bom: 2.0.0 dev: true /strip-bom@2.0.0: - resolution: - { integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} dependencies: is-utf8: 0.2.1 dev: true /strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} /strip-final-newline@3.0.0: - resolution: - { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} /strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@2.0.0: - resolution: - { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: - { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: - { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} /supports-hyperlinks@2.3.0: - resolution: - { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swagger2openapi@7.0.8: - resolution: - { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -17015,21 +15177,18 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: - { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} dev: true /tapable@2.2.1: - resolution: - { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -17039,8 +15198,7 @@ packages: dev: false /tar-stream@3.1.6: - resolution: - { integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== } + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 @@ -17048,9 +15206,8 @@ packages: dev: false /tar@6.2.0: - resolution: - { integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -17060,49 +15217,42 @@ packages: yallist: 4.0.0 /term-size@2.2.1: - resolution: - { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} dev: true /terminal-link@3.0.0: - resolution: - { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: - { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} /textextensions@5.16.0: - resolution: - { integrity: sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==} + engines: {node: '>=0.8'} dev: true /thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: - { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: bufrw: 1.3.0 @@ -17111,107 +15261,89 @@ packages: dev: false /through@2.3.8: - resolution: - { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /time-span@4.0.0: - resolution: - { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: false /tinybench@2.5.1: - resolution: - { integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== } + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.8.2: - resolution: - { integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} dev: true /tinyspy@2.2.0: - resolution: - { integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} dev: true /tmp-promise@3.0.3: - resolution: - { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: - { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: - { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} dev: false /to-fast-properties@2.0.0: - resolution: - { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} /to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: - { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false /tomlify-j0.4@3.0.0: - resolution: - { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } + resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} dev: false /tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /traverse@0.6.7: - resolution: - { integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== } + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true /treeverse@1.0.4: - resolution: - { integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g== } + resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} dev: true /trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} dev: true /trough@1.0.5: - resolution: - { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true /ts-api-utils@1.0.3(typescript@5.4.2): - resolution: - { integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== } - engines: { node: '>=16.13.0' } + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -17219,23 +15351,20 @@ packages: dev: true /ts-invariant@0.10.3: - resolution: - { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: - { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 /ts-node@10.9.2(@types/node@20.11.29)(typescript@5.4.2): - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -17265,8 +15394,7 @@ packages: yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -17275,17 +15403,14 @@ packages: dev: true /tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} /tslib@2.6.2: - resolution: - { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.8.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -17294,9 +15419,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.4.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -17305,9 +15429,8 @@ packages: dev: false /tsx@4.7.1: - resolution: - { integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.11 @@ -17317,9 +15440,8 @@ packages: dev: true /tty-table@4.2.1: - resolution: - { integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -17332,9 +15454,8 @@ packages: dev: true /tuf-js@1.1.7: - resolution: - { integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@tufjs/models': 1.0.4 debug: 4.3.4(supports-color@9.4.0) @@ -17344,15 +15465,13 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /turbo-darwin-64@1.12.5: - resolution: - { integrity: sha512-0GZ8reftwNQgIQLHkHjHEXTc/Z1NJm+YjsrBP+qhM/7yIZ3TEy9gJhuogDt2U0xIWwFgisTyzbtU7xNaQydtoA== } + resolution: {integrity: sha512-0GZ8reftwNQgIQLHkHjHEXTc/Z1NJm+YjsrBP+qhM/7yIZ3TEy9gJhuogDt2U0xIWwFgisTyzbtU7xNaQydtoA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -17360,8 +15479,7 @@ packages: optional: true /turbo-darwin-arm64@1.12.5: - resolution: - { integrity: sha512-8WpOLNNzvH6kohQOjihD+gaWL+ZFNfjvBwhOF0rjEzvW+YR3Pa7KjhulrjWyeN2yMFqAPubTbZIGOz1EVXLuQA== } + resolution: {integrity: sha512-8WpOLNNzvH6kohQOjihD+gaWL+ZFNfjvBwhOF0rjEzvW+YR3Pa7KjhulrjWyeN2yMFqAPubTbZIGOz1EVXLuQA==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -17369,8 +15487,7 @@ packages: optional: true /turbo-linux-64@1.12.5: - resolution: - { integrity: sha512-INit73+bNUpwqGZCxgXCR3I+cQsdkQ3/LkfkgSOibkpg+oGqxJRzeXw3sp990d7SCoE8QOcs3iw+PtiFX/LDAA== } + resolution: {integrity: sha512-INit73+bNUpwqGZCxgXCR3I+cQsdkQ3/LkfkgSOibkpg+oGqxJRzeXw3sp990d7SCoE8QOcs3iw+PtiFX/LDAA==} cpu: [x64] os: [linux] requiresBuild: true @@ -17378,8 +15495,7 @@ packages: optional: true /turbo-linux-arm64@1.12.5: - resolution: - { integrity: sha512-6lkRBvxtI/GQdGtaAec9LvVQUoRw6nXFp0kM+Eu+5PbZqq7yn6cMkgDJLI08zdeui36yXhone8XGI8pHg8bpUQ== } + resolution: {integrity: sha512-6lkRBvxtI/GQdGtaAec9LvVQUoRw6nXFp0kM+Eu+5PbZqq7yn6cMkgDJLI08zdeui36yXhone8XGI8pHg8bpUQ==} cpu: [arm64] os: [linux] requiresBuild: true @@ -17387,8 +15503,7 @@ packages: optional: true /turbo-windows-64@1.12.5: - resolution: - { integrity: sha512-gQYbOhZg5Ww0bQ/bC0w/4W6yQRwBumUUnkB+QPo15VznwxZe2a7bo6JM+9Xy9dKLa/kn+p7zTqme4OEp6M3/Yg== } + resolution: {integrity: sha512-gQYbOhZg5Ww0bQ/bC0w/4W6yQRwBumUUnkB+QPo15VznwxZe2a7bo6JM+9Xy9dKLa/kn+p7zTqme4OEp6M3/Yg==} cpu: [x64] os: [win32] requiresBuild: true @@ -17396,8 +15511,7 @@ packages: optional: true /turbo-windows-arm64@1.12.5: - resolution: - { integrity: sha512-auvhZ9FrhnvQ4mgBlY9O68MT4dIfprYGvd2uPICba/mHUZZvVy5SGgbHJ0KbMwaJfnnFoPgLJO6M+3N2gDprKw== } + resolution: {integrity: sha512-auvhZ9FrhnvQ4mgBlY9O68MT4dIfprYGvd2uPICba/mHUZZvVy5SGgbHJ0KbMwaJfnnFoPgLJO6M+3N2gDprKw==} cpu: [arm64] os: [win32] requiresBuild: true @@ -17405,8 +15519,7 @@ packages: optional: true /turbo@1.12.5: - resolution: - { integrity: sha512-FATU5EnhrYG8RvQJYFJnDd18DpccDjyvd53hggw9T9JEg9BhWtIEoeaKtBjYbpXwOVrJQMDdXcIB4f2nD3QPPg== } + resolution: {integrity: sha512-FATU5EnhrYG8RvQJYFJnDd18DpccDjyvd53hggw9T9JEg9BhWtIEoeaKtBjYbpXwOVrJQMDdXcIB4f2nD3QPPg==} hasBin: true optionalDependencies: turbo-darwin-64: 1.12.5 @@ -17418,86 +15531,72 @@ packages: dev: true /typanion@3.14.0: - resolution: - { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} dev: true /type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-fest@1.4.0: - resolution: - { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: false /type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: false /type-fest@3.13.1: - resolution: - { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /type-fest@4.9.0: - resolution: - { integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} + engines: {node: '>=16'} dev: true /typed-array-buffer@1.0.0: - resolution: - { integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -17505,9 +15604,8 @@ packages: dev: true /typed-array-byte-length@1.0.0: - resolution: - { integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -17516,9 +15614,8 @@ packages: dev: true /typed-array-byte-offset@1.0.0: - resolution: - { integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -17528,8 +15625,7 @@ packages: dev: true /typed-array-length@1.0.4: - resolution: - { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -17537,43 +15633,36 @@ packages: dev: true /typedarray-to-buffer@1.0.4: - resolution: - { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } + resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true /typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript@4.8.2: - resolution: - { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + engines: {node: '>=4.2.0'} hasBin: true dev: true /typescript@5.2.2: - resolution: - { integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: false /typescript@5.4.2: - resolution: - { integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.0: - resolution: - { integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /unbox-primitive@1.0.2: - resolution: - { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -17582,50 +15671,42 @@ packages: dev: true /underscore@1.13.6: - resolution: - { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true /undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: - { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} dev: true /unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} dev: true /unified@9.2.2: - resolution: - { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: '@types/unist': 2.0.8 bail: 1.0.5 @@ -17637,92 +15718,79 @@ packages: dev: true /unique-filename@1.1.1: - resolution: - { integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== } + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: unique-slug: 2.0.2 dev: true /unique-filename@2.0.1: - resolution: - { integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: unique-slug: 3.0.0 dev: true /unique-filename@3.0.0: - resolution: - { integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: unique-slug: 4.0.0 dev: true /unique-slug@2.0.2: - resolution: - { integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== } + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} dependencies: imurmurhash: 0.1.4 dev: true /unique-slug@3.0.0: - resolution: - { integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 dev: true /unique-slug@4.0.0: - resolution: - { integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 dev: true /unist-util-is@4.1.0: - resolution: - { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} dev: true /unist-util-stringify-position@2.0.3: - resolution: - { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.8 dev: true /unist-util-visit-parents@3.1.1: - resolution: - { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: true /universal-user-agent@6.0.0: - resolution: - { integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== } + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} dev: true /universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-dgram@2.0.6: - resolution: - { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } - engines: { node: '>=0.10.48' } + resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} + engines: {node: '>=0.10.48'} requiresBuild: true dependencies: bindings: 1.5.0 @@ -17731,22 +15799,19 @@ packages: optional: true /unixify@1.0.0: - resolution: - { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: false /untildify@4.0.0: - resolution: - { integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} dev: true /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: - { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -17756,94 +15821,79 @@ packages: picocolors: 1.0.0 /update-section@0.3.3: - resolution: - { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} dev: true /upper-case-first@2.0.2: - resolution: - { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 /urlpattern-polyfill@8.0.2: - resolution: - { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false /util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true /uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true dev: false /v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validate-npm-package-name@3.0.0: - resolution: - { integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== } + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} dependencies: builtins: 1.0.3 dev: true /validate-npm-package-name@4.0.0: - resolution: - { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: - { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: - { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: - { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: '@types/unist': 2.0.8 is-buffer: 2.0.5 @@ -17852,9 +15902,8 @@ packages: dev: true /vinyl-file@3.0.0: - resolution: - { integrity: sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 pify: 2.3.0 @@ -17864,9 +15913,8 @@ packages: dev: true /vinyl@2.2.1: - resolution: - { integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} + engines: {node: '>= 0.10'} dependencies: clone: 2.1.2 clone-buffer: 1.0.0 @@ -17877,9 +15925,8 @@ packages: dev: true /vite-node@1.4.0(@types/node@20.11.29): - resolution: - { integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 @@ -17899,9 +15946,8 @@ packages: dev: true /vite@5.1.6(@types/node@20.11.29): - resolution: - { integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -17936,9 +15982,8 @@ packages: dev: true /vitest@1.4.0(@types/node@20.11.29): - resolution: - { integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -17993,42 +16038,35 @@ packages: dev: true /vlq@0.2.3: - resolution: - { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true /walk-up-path@1.0.0: - resolution: - { integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== } + resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} dev: true /wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.2.1: - resolution: - { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -18038,23 +16076,20 @@ packages: dev: true /which-module@2.0.1: - resolution: - { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-pm@2.0.0: - resolution: - { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } - engines: { node: '>=8.15' } + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true /which-typed-array@1.1.11: - resolution: - { integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -18064,43 +16099,38 @@ packages: dev: true /which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 /which@3.0.1: - resolution: - { integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@4.0.0: - resolution: - { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: - { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} hasBin: true dependencies: siginfo: 2.0.0 @@ -18108,34 +16138,29 @@ packages: dev: true /wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 /widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: - { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} /wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -18143,18 +16168,16 @@ packages: dev: true /wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -18162,9 +16185,8 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 @@ -18172,22 +16194,19 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /write-file-atomic@4.0.2: - resolution: - { integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true /ws@7.5.9: - resolution: - { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -18199,103 +16218,86 @@ packages: dev: true /xorshift@1.2.0: - resolution: - { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } + resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} dev: false /xtend@2.0.6: - resolution: - { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} + engines: {node: '>=0.4'} dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: - { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} + engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: - { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} dev: true /xtend@3.0.0: - resolution: - { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} + engines: {node: '>=0.4'} dev: true /xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /y18n@4.0.3: - resolution: - { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} /yallist@2.1.2: - resolution: - { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.3.4: - resolution: - { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} /yargs@15.4.1: - resolution: - { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -18311,9 +16313,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -18325,9 +16326,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -18338,17 +16338,15 @@ packages: yargs-parser: 21.1.1 /yarn@1.22.21: - resolution: - { integrity: sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg==} + engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true dev: false /yeoman-environment@3.19.3: - resolution: - { integrity: sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg== } - engines: { node: '>=12.10.0' } + resolution: {integrity: sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==} + engines: {node: '>=12.10.0'} hasBin: true dependencies: '@npmcli/arborist': 4.3.1 @@ -18394,9 +16392,8 @@ packages: dev: true /yeoman-generator@5.9.0(yeoman-environment@3.19.3): - resolution: - { integrity: sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw== } - engines: { node: '>=12.10.0' } + resolution: {integrity: sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw==} + engines: {node: '>=12.10.0'} peerDependencies: yeoman-environment: ^3.2.0 peerDependenciesMeta: @@ -18427,45 +16424,38 @@ packages: dev: true /yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} /yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} /yoga-layout-prebuilt@1.10.0: - resolution: - { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: - { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: - { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: true /zip-stream@4.1.1: - resolution: - { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -18473,9 +16463,8 @@ packages: dev: false /zip-stream@5.0.1: - resolution: - { integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 @@ -18483,8 +16472,7 @@ packages: dev: false /zod-to-json-schema@3.22.4(zod@3.22.4): - resolution: - { integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ== } + resolution: {integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ==} peerDependencies: zod: ^3.22.4 dependencies: @@ -18492,10 +16480,8 @@ packages: dev: false /zod@3.22.4: - resolution: - { integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== } + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} /zwitch@1.0.5: - resolution: - { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From b691f7ddf01e8ace2509c75679585f44ddfb2029 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 005/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From cbdd0df88d876dda72ceffe71f9877e874f7429d Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 006/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From 0111c206d90dd989280d354627ec00e140305c88 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 007/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index 3e0963068..0231a4aee 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -6,7 +6,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -324,14 +324,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -416,19 +416,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -469,7 +469,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -485,7 +485,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 3181b4a79..73c1be675 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index 866535499..5d6b68e03 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 8e0f55de2..03e3c4efc 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -63,7 +63,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -84,7 +84,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -103,7 +103,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -123,7 +123,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -161,7 +161,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 1872bc7364bb2472014aebb340d3584b4b8bd755 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 008/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From c4b43f48acaca8f0e2d23ace50c0f4683e20d720 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 009/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From 34f1d64a4f4c1ffd896bbb285ab38efd8315b259 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 010/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +- pnpm-lock.yaml | 12037 ++++++++++++------------- 2 files changed, 6042 insertions(+), 6080 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 358c783d7..e9a9efa35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,17 @@ settings: excludeLinksFromLockfile: false importers: - .: devDependencies: '@babel/core': specifier: ^7.24.0 - version: 7.24.0 + version: 7.24.3 '@babel/preset-env': specifier: ^7.24.0 - version: 7.24.0(@babel/core@7.24.0) + version: 7.24.3(@babel/core@7.24.3) '@babel/preset-typescript': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.0) + version: 7.24.1(@babel/core@7.24.3) '@changesets/changelog-github': specifier: ^0.5.0 version: 0.5.0 @@ -52,16 +51,16 @@ importers: version: 1.22.0 '@size-limit/preset-small-lib': specifier: ^11.1.1 - version: 11.1.1(size-limit@11.1.1) + version: 11.1.2(size-limit@11.1.2) '@types/node': specifier: ^20.11.29 - version: 20.11.29 + version: 20.11.30 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) doctoc: specifier: ^2.2.1 version: 2.2.1 @@ -85,7 +84,7 @@ importers: version: 15.2.2 msw: specifier: ^2.2.8 - version: 2.2.8(typescript@5.4.2) + version: 2.2.10(typescript@5.4.3) prettier: specifier: '=2.8.8' version: 2.8.8 @@ -100,7 +99,7 @@ importers: version: 2.0.0(rollup@4.13.0) rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.13.0)(typescript@5.4.2) + version: 6.1.0(rollup@4.13.0)(typescript@5.4.3) rollup-plugin-esbuild: specifier: ^6.1.1 version: 6.1.1(esbuild@0.20.2)(rollup@4.13.0) @@ -118,25 +117,25 @@ importers: version: 0.2.7 size-limit: specifier: ^11.1.1 - version: 11.1.1 + version: 11.1.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) + version: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) tsx: specifier: ^4.7.1 version: 4.7.1 turbo: specifier: ^1.12.5 - version: 1.12.5 + version: 1.13.0 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 vite: specifier: ^5.1.6 - version: 5.1.6(@types/node@20.11.29) + version: 5.2.2(@types/node@20.11.30) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.29) + version: 1.4.0(@types/node@20.11.30) zod: specifier: ^3.22.4 version: 3.22.4 @@ -145,16 +144,16 @@ importers: dependencies: '@oclif/core': specifier: ^3.25.2 - version: 3.25.2 + version: 3.25.3 '@oclif/plugin-help': specifier: ^6.0.18 version: 6.0.18 '@oclif/plugin-not-found': specifier: ^3.0.14 - version: 3.0.14 + version: 3.1.0 '@oclif/plugin-plugins': specifier: ^4.3.7 - version: 4.3.7 + version: 4.3.8 '@types/ini': specifier: ^4.1.0 version: 4.1.0 @@ -184,7 +183,7 @@ importers: version: 5.3.0 cosmiconfig: specifier: ^9.0.0 - version: 9.0.0(typescript@5.4.2) + version: 9.0.0(typescript@5.4.3) deepmerge: specifier: ^4.3.1 version: 4.3.1 @@ -281,25 +280,25 @@ importers: version: 5.1.1(eslint@8.57.0) eslint-config-oclif-typescript: specifier: ^3.1.3 - version: 3.1.3(eslint@8.57.0)(typescript@5.4.2) + version: 3.1.3(eslint@8.57.0)(typescript@5.4.3) oclif: specifier: ^4.5.7 - version: 4.5.7 + version: 4.6.1 shx: specifier: ^0.3.4 version: 0.3.4 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) + version: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 packages/client: dependencies: typescript: specifier: '>=4.5' - version: 5.2.2 + version: 5.4.3 packages/codegen: dependencies: @@ -317,7 +316,7 @@ importers: version: 22.0.0 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 zod: specifier: ^3.22.4 version: 3.22.4 @@ -396,10 +395,10 @@ importers: devDependencies: '@types/pg': specifier: ^8.11.3 - version: 8.11.3 + version: 8.11.4 drizzle-orm: specifier: ^0.30.3 - version: 0.30.3(@opentelemetry/api@1.8.0)(@types/pg@8.11.3)(pg@8.11.3)(react@17.0.2) + version: 0.30.4(@opentelemetry/api@1.8.0)(@types/pg@8.11.4)(@xata.io/client@packages+client)(pg@8.11.3)(react@17.0.2) pg: specifier: ^8.11.3 version: 8.11.3 @@ -418,10 +417,10 @@ importers: dependencies: '@babel/core': specifier: ^7.24.0 - version: 7.24.0 + version: 7.24.3 '@netlify/build': specifier: '=29.20.6' - version: 29.20.6(@types/node@20.11.29) + version: 29.20.6(@types/node@20.11.30) '@xata.io/client': specifier: workspace:* version: link:../client @@ -431,10 +430,10 @@ importers: version: 7.20.5 '@types/node': specifier: ^20.11.29 - version: 20.11.29 + version: 20.11.30 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 packages/plugin-client-opentelemetry: dependencies: @@ -446,23 +445,25 @@ importers: version: link:../client packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } + engines: { node: '>=0.10.0' } dev: true - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} + /@ampproject/remapping@2.3.0: + resolution: + { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== } + engines: { node: '>=6.0.0' } dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} + /@apollo/client@3.9.8(graphql@15.8.0)(react@17.0.2): + resolution: + { integrity: sha512-ausPftEb2xAUkZqz+VkSSIhNxKraShJXdV2/NJ7JbHAAciGsFlapGtZ++b7lF0/+3Jp/p34g/i6dvO8b4WjQig== } peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -478,24 +479,28 @@ packages: optional: true dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) - '@wry/context': 0.7.3 - '@wry/equality': 0.5.6 - '@wry/trie': 0.4.3 + '@wry/caches': 1.0.1 + '@wry/equality': 0.5.7 + '@wry/trie': 0.5.0 graphql: 15.8.0 graphql-tag: 2.12.6(graphql@15.8.0) hoist-non-react-statics: 3.3.2 - optimism: 0.17.5 + optimism: 0.18.0 prop-types: 15.8.1 react: 17.0.2 + rehackt: 0.0.6(react@17.0.2) response-iterator: 0.2.6 symbol-observable: 4.0.0 ts-invariant: 0.10.3 tslib: 2.6.2 zen-observable-ts: 1.2.5 + transitivePeerDependencies: + - '@types/react' dev: true /@aws-crypto/crc32@3.0.0: - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} + resolution: + { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -503,7 +508,8 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} + resolution: + { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -511,38 +517,42 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + resolution: + { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + resolution: + { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.465.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + resolution: + { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.465.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + resolution: + { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -550,13 +560,15 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + resolution: + { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + resolution: + { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -564,8 +576,9 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -614,9 +627,10 @@ packages: - aws-crt dev: true - /@aws-sdk/client-s3@3.535.0: - resolution: {integrity: sha512-qcFCP9a695ZvAbm+hRMyfE2PjqnSkq0Bl57X7z8gHUg4TIjKJHTP7mtND21A4YaWigegQL6OA5kMXMZbCcugLA==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-s3@3.537.0: + resolution: + { integrity: sha512-EMPN2toHz1QtSiDeLKS1zrazh+8J0g1Y5t5lCq25iTXqCSV9vB2jCKwG5+OB6L5tAKkwyl1uZofeWLmdFkztEg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -633,7 +647,7 @@ packages: '@aws-sdk/middleware-recursion-detection': 3.535.0 '@aws-sdk/middleware-sdk-s3': 3.535.0 '@aws-sdk/middleware-signing': 3.535.0 - '@aws-sdk/middleware-ssec': 3.535.0 + '@aws-sdk/middleware-ssec': 3.537.0 '@aws-sdk/middleware-user-agent': 3.535.0 '@aws-sdk/region-config-resolver': 3.535.0 '@aws-sdk/signature-v4-multi-region': 3.535.0 @@ -680,8 +694,9 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -730,8 +745,9 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -776,8 +792,9 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -825,8 +842,9 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/core': 1.4.0 '@smithy/protocol-http': 3.3.0 @@ -838,8 +856,9 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -848,8 +867,9 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -863,8 +883,9 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -883,8 +904,9 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -903,8 +925,9 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -914,8 +937,9 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -930,8 +954,9 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -944,8 +969,9 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -957,8 +983,9 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -967,8 +994,9 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -981,8 +1009,9 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -991,8 +1020,9 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1000,8 +1030,9 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1009,8 +1040,9 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1019,8 +1051,9 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.535.0: - resolution: {integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1034,8 +1067,9 @@ packages: dev: true /@aws-sdk/middleware-signing@3.535.0: - resolution: {integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1046,9 +1080,10 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/middleware-ssec@3.535.0: - resolution: {integrity: sha512-QAQ++9my7VZzusUPOFcUMdhTnjpGRyy/OvPC+jg9usdfcaSZeQbfzbdaVBalcm2Wt+1qxh3LZSTS+LxKikm02Q==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-ssec@3.537.0: + resolution: + { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1056,8 +1091,9 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1067,8 +1103,9 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1079,8 +1116,9 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.535.0: - resolution: {integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/middleware-sdk-s3': 3.535.0 '@aws-sdk/types': 3.535.0 @@ -1091,8 +1129,9 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1106,23 +1145,26 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1130,15 +1172,17 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/util-locate-window@3.465.0: - resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/util-locate-window@3.535.0: + resolution: + { integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + resolution: + { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1147,8 +1191,9 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } + engines: { node: '>=14.0.0' } peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1162,43 +1207,48 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + resolution: + { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} + /@babel/code-frame@7.24.2: + resolution: + { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} + /@babel/compat-data@7.24.1: + resolution: + { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } + engines: { node: '>=6.9.0' } - /@babel/core@7.24.0: - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} - engines: {node: '>=6.9.0'} + /@babel/core@7.24.3: + resolution: + { integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ== } + engines: { node: '>=6.9.0' } dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helpers': 7.24.0 - '@babel/parser': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@9.4.0) @@ -1208,1205 +1258,1292 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} + /@babel/generator@7.24.1: + resolution: + { integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} - engines: {node: '>=6.9.0'} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} - engines: {node: '>=6.9.0'} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + resolution: + { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@9.4.0) lodash.debounce: 4.0.8 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } + engines: { node: '>=6.9.0' } /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} + /@babel/helper-module-imports@7.24.3: + resolution: + { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } + engines: { node: '>=6.9.0' } dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} - engines: {node: '>=6.9.0'} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + resolution: + { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} - engines: {node: '>=6.9.0'} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.24.1: + resolution: + { integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== } + engines: { node: '>=6.9.0' } /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - dev: true + resolution: + { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } + engines: { node: '>=6.9.0' } /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } + engines: { node: '>=6.9.0' } /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/types': 7.24.0 dev: true - /@babel/helpers@7.24.0: - resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} - engines: {node: '>=6.9.0'} + /@babel/helpers@7.24.1: + resolution: + { integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} + /@babel/highlight@7.24.2: + resolution: + { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 - /@babel/parser@7.23.3: - resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} + /@babel/parser@7.24.1: + resolution: + { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } + engines: { node: '>=6.0.0' } hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + resolution: + { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + resolution: + { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + resolution: + { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} - engines: {node: '>=6.9.0'} + /@babel/preset-env@7.24.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) - core-js-compat: 3.35.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + resolution: + { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} - engines: {node: '>=6.9.0'} + /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) dev: true /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + resolution: + { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } dev: true - /@babel/runtime@7.23.1: - resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} - engines: {node: '>=6.9.0'} + /@babel/runtime@7.24.1: + resolution: + { integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== } + engines: { node: '>=6.9.0' } dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 dev: true - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.24.0 - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - /@babel/traverse@7.24.0: - resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} - engines: {node: '>=6.9.0'} + /@babel/traverse@7.24.1: + resolution: + { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 debug: 4.3.4(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color + /@babel/types@7.23.6: + resolution: + { integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-string-parser': 7.23.4 + '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@bugsnag/browser@7.21.0: - resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} + /@bugsnag/browser@7.22.4: + resolution: + { integrity: sha512-h2o9RZhAEIgJAUsECd7a00IkLnvQvLT7dUyUYx/s8VLvcq89gKa8E59rlM7f15wtkJ5MPfozhErXDpsdOvF4Rg== } dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} + resolution: + { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2416,18 +2553,21 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} + resolution: + { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } dev: false - /@bugsnag/js@7.21.0: - resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} + /@bugsnag/js@7.22.4: + resolution: + { integrity: sha512-GjU3YmCNxVl1QZ64e8D4hKSfhHiymHu4hyYlyKxIdqmnhpHvoFnADcdAHEnWPG82O9j9w+JoDXvL460aiOEgHg== } dependencies: - '@bugsnag/browser': 7.21.0 - '@bugsnag/node': 7.19.0 + '@bugsnag/browser': 7.22.4 + '@bugsnag/node': 7.22.3 dev: false - /@bugsnag/node@7.19.0: - resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} + /@bugsnag/node@7.22.3: + resolution: + { integrity: sha512-vDXu0mrduonyCjUkTp+zKSh1WHAtA2VjB49xK5s1f/HnTASiJvzUOQBRXrkqaj37sndYHUSMxUCPvLawyc75nA== } dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2438,25 +2578,29 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} + resolution: + { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + resolution: + { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + resolution: + { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + resolution: + { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -2472,9 +2616,10 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + resolution: + { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 @@ -2483,13 +2628,15 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + resolution: + { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} + resolution: + { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -2499,10 +2646,11 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + resolution: + { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } hasBin: true dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/apply-release-plan': 7.0.0 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 @@ -2517,10 +2665,10 @@ packages: '@changesets/types': 6.0.0 '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.6 + '@types/semver': 7.5.8 ansi-colors: 4.1.3 chalk: 2.4.2 - ci-info: 3.8.0 + ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 @@ -2528,16 +2676,17 @@ packages: meow: 6.1.1 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.2 + preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.1 + tty-table: 4.2.3 dev: true /@changesets/config@3.0.0: - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + resolution: + { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -2549,13 +2698,15 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + resolution: + { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + resolution: + { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2565,7 +2716,8 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} + resolution: + { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -2574,9 +2726,10 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + resolution: + { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -2586,13 +2739,15 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + resolution: + { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } dev: true /@changesets/git@3.0.0: - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + resolution: + { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2602,22 +2757,25 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + resolution: + { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + resolution: + { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + resolution: + { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2625,9 +2783,10 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + resolution: + { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -2638,17 +2797,20 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + resolution: + { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } dev: true /@changesets/types@6.0.0: - resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} + resolution: + { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } dev: true /@changesets/write@0.3.0: - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + resolution: + { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -2656,44 +2818,61 @@ packages: dev: true /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } + engines: { node: '>=12' } dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } + engines: { node: '>=16' } dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } + engines: { node: '>=16' } dev: false /@edge-runtime/primitives@4.1.0: - resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } + engines: { node: '>=16' } dev: false /@edge-runtime/vm@3.2.0: - resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } + engines: { node: '>=16' } dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } + engines: { node: '>=12' } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -2701,8 +2880,9 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -2710,26 +2890,29 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-arm64@0.19.2: - resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} - engines: {node: '>=12'} + /@esbuild/android-arm64@0.19.12: + resolution: + { integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -2737,26 +2920,29 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-arm@0.19.2: - resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.19.12: + resolution: + { integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true @@ -2764,26 +2950,29 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-x64@0.19.2: - resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.19.12: + resolution: + { integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -2791,26 +2980,29 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/darwin-arm64@0.19.2: - resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.19.12: + resolution: + { integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -2818,26 +3010,29 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/darwin-x64@0.19.2: - resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.19.12: + resolution: + { integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -2845,26 +3040,29 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/freebsd-arm64@0.19.2: - resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -2872,26 +3070,29 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/freebsd-x64@0.19.2: - resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.19.12: + resolution: + { integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -2899,26 +3100,29 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-arm64@0.19.2: - resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.19.12: + resolution: + { integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -2926,26 +3130,29 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-arm@0.19.2: - resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.19.12: + resolution: + { integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -2953,26 +3160,29 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-ia32@0.19.2: - resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.19.12: + resolution: + { integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -2980,26 +3190,29 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-loong64@0.19.2: - resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.19.12: + resolution: + { integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true @@ -3007,26 +3220,29 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-mips64el@0.19.2: - resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.19.12: + resolution: + { integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -3034,26 +3250,29 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-ppc64@0.19.2: - resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.19.12: + resolution: + { integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -3061,26 +3280,29 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-riscv64@0.19.2: - resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.19.12: + resolution: + { integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -3088,26 +3310,29 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-s390x@0.19.2: - resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.19.12: + resolution: + { integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -3115,26 +3340,29 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-x64@0.19.2: - resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.19.12: + resolution: + { integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -3142,26 +3370,29 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/netbsd-x64@0.19.2: - resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.19.12: + resolution: + { integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -3169,26 +3400,29 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/openbsd-x64@0.19.2: - resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} - engines: {node: '>=12'} + /@esbuild/openbsd-x64@0.19.12: + resolution: + { integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -3196,26 +3430,29 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/sunos-x64@0.19.2: - resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.19.12: + resolution: + { integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -3223,26 +3460,29 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-arm64@0.19.2: - resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.19.12: + resolution: + { integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -3250,26 +3490,29 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-ia32@0.19.2: - resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.19.12: + resolution: + { integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -3277,26 +3520,29 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-x64@0.19.2: - resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.19.12: + resolution: + { integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -3304,8 +3550,9 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3313,20 +3560,22 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.8.2: - resolution: {integrity: sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /@eslint-community/regexpp@4.10.0: + resolution: + { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) espree: 9.6.1 - globals: 13.22.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3336,71 +3585,75 @@ packages: dev: true /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@exodus/schemasafe@1.3.0: - resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + resolution: + { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } dev: true /@faker-js/faker@8.4.1: - resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} + resolution: + { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } dev: false - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + resolution: + { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 15.8.0 dev: true - /@grpc/grpc-js@1.9.3: - resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} - engines: {node: ^8.13.0 || >=10.10.0} + /@grpc/grpc-js@1.10.3: + resolution: + { integrity: sha512-qiO9MNgYnwbvZ8MK0YLWbnGrNX3zTcj6/Ef7UHu5ZofER3e2nF3Y35GaPo9qNJJ/UJQKa4KL+z/F4Q8Q+uCdUQ== } + engines: { node: '>=12.10.0' } dependencies: '@grpc/proto-loader': 0.7.10 - '@types/node': 20.11.29 + '@js-sdsl/ordered-map': 4.4.2 /@grpc/proto-loader@0.7.10: - resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } + engines: { node: '>=6' } hasBin: true dependencies: lodash.camelcase: 4.3.0 long: 5.2.3 - protobufjs: 7.2.5 + protobufjs: 7.2.6 yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } + engines: { node: '>=14' } dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/exporter-metrics-otlp-grpc': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-metrics-otlp-proto': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-trace-otlp-proto': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.8.0) - '@opentelemetry/sdk-metrics': 1.18.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-node': 0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0) '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.8.0) - axios: 1.5.0 + axios: 1.6.8 transitivePeerDependencies: - debug - supports-color dev: false /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + resolution: + { integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== } + engines: { node: '>=10.10.0' } dependencies: '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@9.4.0) @@ -3410,38 +3663,48 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + resolution: + { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } + engines: { node: '>=12.22' } dev: true /@humanwhocodes/momoa@2.0.4: - resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} - engines: {node: '>=10.10.0'} + resolution: + { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } + engines: { node: '>=10.10.0' } dev: false /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + resolution: + { integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== } dev: true + /@iarna/toml@2.2.5: + resolution: + { integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== } + dev: false + /@import-maps/resolve@1.0.1: - resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} + resolution: + { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } dev: false - /@inquirer/confirm@3.0.0: - resolution: {integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==} - engines: {node: '>=18'} + /@inquirer/confirm@3.1.0: + resolution: + { integrity: sha512-nH5mxoTEoqk6WpoBz80GMpDSm9jH5V9AF8n+JZAZfMzd9gHeEG9w1o3KawPRR72lfzpP+QxBHLkOKLEApwhDiQ== } + engines: { node: '>=18' } dependencies: - '@inquirer/core': 7.0.0 - '@inquirer/type': 1.2.0 - dev: true + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 - /@inquirer/core@7.0.0: - resolution: {integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==} - engines: {node: '>=18'} + /@inquirer/core@7.1.0: + resolution: + { integrity: sha512-FRCiDiU54XHt5B/D8hX4twwZuzSP244ANHbu3R7CAsJfiv1dUOz24ePBgCZjygEjDUi6BWIJuk4eWLKJ7LATUw== } + engines: { node: '>=18' } dependencies: - '@inquirer/type': 1.2.0 + '@inquirer/type': 1.2.1 '@types/mute-stream': 0.0.4 - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -3453,16 +3716,37 @@ packages: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + + /@inquirer/input@2.1.0: + resolution: + { integrity: sha512-o57pST+xxZfGww1h4G7ISiX37KlLcajhKgKGG7/h8J6ClWtsyqwMv1el9Ds/4geuYN/HcPj0MyX9gTEO62UpcA== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 dev: true - /@inquirer/type@1.2.0: - resolution: {integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA==} - engines: {node: '>=18'} + /@inquirer/select@2.2.0: + resolution: + { integrity: sha512-Pml3DhVM1LnfqasUMIzaBtw+s5UjM5k0bzDeWrWOgqAMWe16AOg0DcAhXHf+SYbnj2CFBeP/TvkvedL4aAEWww== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 dev: true + /@inquirer/type@1.2.1: + resolution: + { integrity: sha512-xwMfkPAxeo8Ji/IxfUSqzRi0/+F2GIqJmpc5/thelgMGsjNZcjDDRBO9TLXT1s/hdx/mK5QbVIvgoLIFgXhTMQ== } + engines: { node: '>=18' } + /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } + engines: { node: '>=12' } dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -3472,72 +3756,82 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true - /@isaacs/string-locale-compare@1.1.0: - resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} - dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.29 - '@types/yargs': 16.0.6 + resolution: + { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.11.30 + '@types/yargs': 16.0.9 chalk: 4.1.2 dev: false - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + /@jridgewell/gen-mapping@0.3.5: + resolution: + { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } + engines: { node: '>=6.0.0' } dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} + /@jridgewell/resolve-uri@3.1.2: + resolution: + { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== } + engines: { node: '>=6.0.0' } - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: + { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } + engines: { node: '>=6.0.0' } /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + resolution: + { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.25: + resolution: + { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + resolution: + { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + /@js-sdsl/ordered-map@4.4.2: + resolution: + { integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== } + /@manypkg/find-root@1.1.0: - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + resolution: + { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 dev: true /@manypkg/get-packages@1.1.3: - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + resolution: + { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -3546,10 +3840,11 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + resolution: + { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } hasBin: true dependencies: - detect-libc: 2.0.2 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1(supports-color@9.4.0) make-dir: 3.1.0 node-fetch: 2.7.0 @@ -3557,20 +3852,22 @@ packages: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.6.0 - tar: 6.2.0 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false /@mswjs/cookies@1.1.0: - resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } + engines: { node: '>=18' } dev: true /@mswjs/interceptors@0.25.16: - resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg== } + engines: { node: '>=18' } dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -3581,23 +3878,25 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} + resolution: + { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } dev: false - /@netlify/build@29.20.6(@types/node@20.11.29): - resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/build@29.20.6(@types/node@20.11.30): + resolution: + { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } + engines: { node: ^14.16.0 || >=16.0.0 } hasBin: true dependencies: - '@bugsnag/js': 7.21.0 + '@bugsnag/js': 7.22.4 '@honeycombio/opentelemetry-node': 0.4.0(supports-color@9.4.0) '@netlify/cache-utils': 5.1.5 - '@netlify/config': 20.9.0 + '@netlify/config': 20.12.1 '@netlify/edge-bundler': 8.18.0 '@netlify/framework-info': 9.8.10 - '@netlify/functions-utils': 5.2.29(supports-color@9.4.0) + '@netlify/functions-utils': 5.2.51(supports-color@9.4.0) '@netlify/git-utils': 5.1.1 - '@netlify/plugins-list': 6.71.0 + '@netlify/plugins-list': 6.77.0 '@netlify/run-utils': 5.1.1 '@netlify/zip-it-and-ship-it': 9.16.0(supports-color@9.4.0) '@opentelemetry/api': 1.8.0 @@ -3606,7 +3905,7 @@ packages: chalk: 5.3.0 clean-stack: 4.2.0 execa: 6.1.0 - fdir: 6.1.0 + fdir: 6.1.1 figures: 5.0.0 filter-obj: 5.1.0 got: 12.6.1 @@ -3632,16 +3931,16 @@ packages: ps-list: 8.1.1 read-pkg-up: 9.1.0 readdirp: 3.6.0 - resolve: 2.0.0-next.4 - rfdc: 1.3.0 + resolve: 2.0.0-next.5 + rfdc: 1.3.1 safe-json-stringify: 1.2.0 semver: 7.6.0 string-width: 5.1.2 strip-ansi: 7.1.0 supports-color: 9.4.0 terminal-link: 3.0.0 - ts-node: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) - typescript: 5.4.2 + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) + typescript: 5.4.3 uuid: 9.0.1 yargs: 17.7.2 transitivePeerDependencies: @@ -3654,8 +3953,9 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -3667,11 +3967,13 @@ packages: readdirp: 3.6.0 dev: false - /@netlify/config@20.9.0: - resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/config@20.12.1: + resolution: + { integrity: sha512-sziuaOA9XfeQjQf6Yru7S9k9xTMy9GAJSPJL02WFld0cFDA5dgDyAFLN34jedIbgl7jVV+g7Vb2nOJocfgibbg== } + engines: { node: ^14.16.0 || >=16.0.0 } hasBin: true dependencies: + '@iarna/toml': 2.2.5 chalk: 5.3.0 cron-parser: 4.9.0 deepmerge: 4.3.1 @@ -3685,22 +3987,22 @@ packages: is-plain-obj: 4.1.0 js-yaml: 4.1.0 map-obj: 5.0.2 - netlify: 13.1.10 - netlify-headers-parser: 7.1.2 - netlify-redirect-parser: 14.2.0 + netlify: 13.1.14 + netlify-headers-parser: 7.1.4 + netlify-redirect-parser: 14.2.2 node-fetch: 3.3.2 omit.js: 2.0.2 p-locate: 6.0.0 path-type: 5.0.0 - toml: 3.0.0 tomlify-j0.4: 3.0.0 validate-npm-package-name: 4.0.0 yargs: 17.7.2 dev: false /@netlify/edge-bundler@8.18.0: - resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -3713,7 +4015,7 @@ packages: get-port: 6.1.2 glob-to-regexp: 0.4.1 is-path-inside: 4.0.0 - jsonc-parser: 3.2.0 + jsonc-parser: 3.2.1 node-fetch: 3.3.2 node-stream-zip: 1.15.0 p-retry: 5.1.2 @@ -3727,8 +4029,9 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -3736,8 +4039,9 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -3745,8 +4049,9 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -3754,8 +4059,9 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -3763,8 +4069,9 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -3772,8 +4079,9 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3781,8 +4089,9 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -3790,8 +4099,9 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -3799,8 +4109,9 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -3808,8 +4119,9 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -3817,8 +4129,9 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -3826,8 +4139,9 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -3835,8 +4149,9 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -3844,8 +4159,9 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -3853,8 +4169,9 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -3862,8 +4179,9 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -3871,8 +4189,9 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -3880,8 +4199,9 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -3889,8 +4209,9 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -3898,8 +4219,9 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -3907,8 +4229,9 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -3935,8 +4258,9 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } + engines: { node: ^14.14.0 || >=16.0.0 } dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -3950,11 +4274,12 @@ packages: semver: 7.6.0 dev: false - /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/functions-utils@5.2.51(supports-color@9.4.0): + resolution: + { integrity: sha512-A4XLQOE2pfcOHcCTs97G6FDVQg20zGoROCAZcpnNd8bMvBDDVgziC/xoFxm4xGC36u0YogSECsLoIbSKSxLloA== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: - '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) + '@netlify/zip-it-and-ship-it': 9.29.2(supports-color@9.4.0) cpy: 9.0.1 path-exists: 5.0.0 transitivePeerDependencies: @@ -3963,8 +4288,9 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -3974,52 +4300,59 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } + engines: { node: ^14.16.0 || >=16.0.0 } dev: false - /@netlify/open-api@2.22.0: - resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} + /@netlify/open-api@2.28.0: + resolution: + { integrity: sha512-lSx9yVn5mzTS7u9aevQyDRoWaHJYNl15B7CU373g8We39wW8fGh4sdNY7ciPWshf42FblOVlBdoasn/LpzquXg== } + engines: { node: '>=14' } dev: false - /@netlify/plugins-list@6.71.0: - resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} - engines: {node: ^14.14.0 || >=16.0.0} + /@netlify/plugins-list@6.77.0: + resolution: + { integrity: sha512-czL3FH61hFhhVQydRj2xjIwLVYHDNskMhRib7dUfOQrUHifqLlUFKp03NwBD87G9BFKXUYGWZMEUU+JjIpVc9w== } + engines: { node: ^14.14.0 || >=16.0.0 } dev: false /@netlify/run-utils@5.1.1: - resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: execa: 6.1.0 dev: false - /@netlify/serverless-functions-api@1.7.3: - resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} - engines: {node: ^14.18.0 || >=16.0.0} + /@netlify/serverless-functions-api@1.14.0: + resolution: + { integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q== } + engines: { node: ^14.18.0 || >=16.0.0 } dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } + engines: { node: ^14.18.0 || >=16.0.0 } hasBin: true dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@netlify/binary-info': 1.0.0 '@netlify/esbuild': 0.14.39-1 - '@netlify/serverless-functions-api': 1.7.3 + '@netlify/serverless-functions-api': 1.14.0 '@vercel/nft': 0.23.1(supports-color@9.4.0) archiver: 5.3.2 common-path-prefix: 3.0.0 cp-file: 10.0.0 - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.2 execa: 6.1.0 filter-obj: 5.1.0 find-up: 6.3.0 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 glob: 8.1.0 is-builtin-module: 3.2.1 is-path-inside: 4.0.0 @@ -4032,7 +4365,7 @@ packages: path-exists: 5.0.0 precinct: 11.0.5(supports-color@9.4.0) require-package-name: 2.0.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 7.6.0 tmp-promise: 3.0.3 toml: 3.0.0 @@ -4044,24 +4377,26 @@ packages: - supports-color dev: false - /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} - engines: {node: ^14.18.0 || >=16.0.0} + /@netlify/zip-it-and-ship-it@9.29.2(supports-color@9.4.0): + resolution: + { integrity: sha512-9o/4lsFWuyPpe38Rhk/00JyccKSBRGM9Av3DINnh/QrpTeIC6esfJsaJNQ4JQ+gU4XXAwxPY9Uk+16WMPs/zkg== } + engines: { node: ^14.18.0 || >=16.0.0 } hasBin: true dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 + '@babel/types': 7.23.6 '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.7.3 + '@netlify/serverless-functions-api': 1.14.0 '@vercel/nft': 0.23.1(supports-color@9.4.0) - archiver: 6.0.1 + archiver: 6.0.2 common-path-prefix: 3.0.0 cp-file: 10.0.0 - es-module-lexer: 1.3.1 - esbuild: 0.19.2 + es-module-lexer: 1.4.2 + esbuild: 0.19.11 execa: 6.1.0 + fast-glob: 3.3.2 filter-obj: 5.1.0 find-up: 6.3.0 - get-tsconfig: 4.7.2 glob: 8.1.0 is-builtin-module: 3.2.1 is-path-inside: 4.0.0 @@ -4074,7 +4409,7 @@ packages: path-exists: 5.0.0 precinct: 11.0.5(supports-color@9.4.0) require-package-name: 2.0.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 7.6.0 tmp-promise: 3.0.3 toml: 3.0.0 @@ -4087,237 +4422,30 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } + engines: { node: '>= 8' } /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - - /@npmcli/arborist@4.3.1: - resolution: {integrity: sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - hasBin: true - dependencies: - '@isaacs/string-locale-compare': 1.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/map-workspaces': 2.0.4 - '@npmcli/metavuln-calculator': 2.0.0 - '@npmcli/move-file': 1.1.2 - '@npmcli/name-from-folder': 1.0.1 - '@npmcli/node-gyp': 1.0.3 - '@npmcli/package-json': 1.0.1 - '@npmcli/run-script': 2.0.0 - bin-links: 3.0.3 - cacache: 15.3.0 - common-ancestor-path: 1.0.1 - json-parse-even-better-errors: 2.3.1 - json-stringify-nice: 1.1.4 - mkdirp: 1.0.4 - mkdirp-infer-owner: 2.0.0 - npm-install-checks: 4.0.0 - npm-package-arg: 8.1.5 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 12.0.2 - pacote: 12.0.3 - parse-conflict-json: 2.0.2 - proc-log: 1.0.0 - promise-all-reject-late: 1.0.1 - promise-call-limit: 1.0.2 - read-package-json-fast: 2.0.3 - readdir-scoped-modules: 1.1.0 - rimraf: 3.0.2 - semver: 7.6.0 - ssri: 8.0.1 - treeverse: 1.0.4 - walk-up-path: 1.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /@npmcli/fs@1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 - dev: true - - /@npmcli/fs@2.1.2: - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 - dev: true - - /@npmcli/fs@3.1.0: - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.6.0 - dev: true - - /@npmcli/git@2.1.0: - resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} - dependencies: - '@npmcli/promise-spawn': 1.3.2 - lru-cache: 6.0.0 - mkdirp: 1.0.4 - npm-pick-manifest: 6.1.1 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - dev: true - - /@npmcli/git@4.1.0: - resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/promise-spawn': 6.0.2 - lru-cache: 7.18.3 - npm-pick-manifest: 8.0.2 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.0 - which: 3.0.1 - transitivePeerDependencies: - - bluebird - dev: true - - /@npmcli/installed-package-contents@1.0.7: - resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: true - - /@npmcli/installed-package-contents@2.0.2: - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - - /@npmcli/map-workspaces@2.0.4: - resolution: {integrity: sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/name-from-folder': 1.0.1 - glob: 8.1.0 - minimatch: 5.1.6 - read-package-json-fast: 2.0.3 - dev: true - - /@npmcli/metavuln-calculator@2.0.0: - resolution: {integrity: sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - dependencies: - cacache: 15.3.0 - json-parse-even-better-errors: 2.3.1 - pacote: 12.0.3 - semver: 7.6.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /@npmcli/move-file@1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@npmcli/move-file@2.0.1: - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@npmcli/name-from-folder@1.0.1: - resolution: {integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==} - dev: true - - /@npmcli/node-gyp@1.0.3: - resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} - dev: true - - /@npmcli/node-gyp@3.0.0: - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@npmcli/package-json@1.0.1: - resolution: {integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==} - dependencies: - json-parse-even-better-errors: 2.3.1 - dev: true - - /@npmcli/promise-spawn@1.3.2: - resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} - dependencies: - infer-owner: 1.0.4 - dev: true - - /@npmcli/promise-spawn@6.0.2: - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - which: 3.0.1 - dev: true - - /@npmcli/run-script@2.0.0: - resolution: {integrity: sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==} - dependencies: - '@npmcli/node-gyp': 1.0.3 - '@npmcli/promise-spawn': 1.3.2 - node-gyp: 8.4.1 - read-package-json-fast: 2.0.3 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /@npmcli/run-script@6.0.2: - resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.4.0 - read-package-json-fast: 3.0.2 - which: 3.0.1 - transitivePeerDependencies: - - supports-color - dev: true + fastq: 1.17.1 - /@oclif/core@3.25.2: - resolution: {integrity: sha512-OkW/cNa/3DhoCz2YlSpymVe8DXqkoRaLY4SPTVqNVzR4R1dFBE5KoCtuwKwnhxYLCRCqaViPgRnB5K26f0MnjA==} - engines: {node: '>=18.0.0'} + /@oclif/core@3.25.3: + resolution: + { integrity: sha512-2TLZmqnDZos9h73KbrdKqvUQEXIPpUfEzgIfqdQRZwszfk1RtiHAb/7ihtnJICnRRVXlD4XLDmUlY4cFJ0ka4g== } + engines: { node: '>=18.0.0' } dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4349,41 +4477,46 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.18: - resolution: {integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ== } + engines: { node: '>=18.0.0' } dependencies: - '@oclif/core': 3.25.2 + '@oclif/core': 3.25.3 - /@oclif/plugin-not-found@3.0.14: - resolution: {integrity: sha512-HLz04cmS+5F6Tsx1zQEoYV6wamDC/0cM2NqklPIEg8pq/JHPhktmhpzsGaRyBrtx4Pv+uNCo3s+mrTz2v5v03w==} - engines: {node: '>=18.0.0'} + /@oclif/plugin-not-found@3.1.0: + resolution: + { integrity: sha512-sWTSHj1jf8w2kQtOEZpuUjy5zRcLPxuvkKQQniaGKg7JMgCADo1bRoiXdFVPth7f+AdhSNRPYhYCbqtydWjI8A== } + engines: { node: '>=18.0.0' } dependencies: - '@oclif/core': 3.25.2 + '@inquirer/confirm': 3.1.0 + '@oclif/core': 3.25.3 chalk: 5.3.0 fast-levenshtein: 3.0.0 - /@oclif/plugin-plugins@4.3.7: - resolution: {integrity: sha512-G41UFPPpu0QbXfOiY8V9qGsTYRzmqC3OaidJZji6kuoJauzUQICRfx18C01/qP5nONE1in4QJAsRQhauvMXg6g==} - engines: {node: '>=18.0.0'} + /@oclif/plugin-plugins@4.3.8: + resolution: + { integrity: sha512-QU0a4VFmA+Wb/kIUsBKw14KMbH4bHdz5ejwvqql89DumtsUzPOekSHgEzODC2ESZnDWx+h5pD9NPg4lAMPMbxQ== } + engines: { node: '>=18.0.0' } dependencies: - '@oclif/core': 3.25.2 + '@oclif/core': 3.25.3 chalk: 5.3.0 debug: 4.3.4(supports-color@9.4.0) - npm: 10.5.0 + npm: 10.2.4 npm-run-path: 4.0.1 semver: 7.6.0 shelljs: 0.8.5 validate-npm-package-name: 5.0.0 - yarn: 1.22.21 + yarn: 1.22.22 transitivePeerDependencies: - supports-color dev: false - /@oclif/plugin-warn-if-update-available@3.0.12: - resolution: {integrity: sha512-BPj+1dSgp9Xtd5BZjLF9s0PeYBl07GSF69aol6/ZUMJMWD78SUWgAAm2SMJJBXic7Lw8hIGBY/YSGXDGaMh4gw==} - engines: {node: '>=18.0.0'} + /@oclif/plugin-warn-if-update-available@3.0.14: + resolution: + { integrity: sha512-CCChGqmR8F0JHJ4ikXD1KgNC/dAsd3FJeQHsZm1BP5YlzLCtSEu6Oz/lpdH1OdnCbVBHJkrquCiL/81S9DTzGw== } + engines: { node: '>=18.0.0' } dependencies: - '@oclif/core': 3.25.2 + '@oclif/core': 3.25.3 chalk: 5.3.0 debug: 4.3.4(supports-color@9.4.0) http-call: 5.3.0 @@ -4392,141 +4525,38 @@ packages: - supports-color dev: true - /@octokit/auth-token@2.5.0: - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} - dependencies: - '@octokit/types': 6.41.0 + /@open-draft/deferred-promise@2.2.0: + resolution: + { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } dev: true - /@octokit/core@3.6.0: - resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + /@open-draft/logger@0.3.0: + resolution: + { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0 - '@octokit/request': 5.6.3 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/endpoint@6.0.12: - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/graphql@4.8.0: - resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} - dependencies: - '@octokit/request': 5.6.3 - '@octokit/types': 6.41.0 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/openapi-types@12.11.0: - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} - dev: true - - /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0): - resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} - peerDependencies: - '@octokit/core': '>=2' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 - dev: true - - /@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0): - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - dev: true - - /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): - resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - dev: true - - /@octokit/request-error@2.1.0: - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request@5.6.3: - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.7.0 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/rest@18.12.0: - resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} - dependencies: - '@octokit/core': 3.6.0 - '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) - '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/types@6.41.0: - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - dependencies: - '@octokit/openapi-types': 12.11.0 - dev: true - - /@open-draft/deferred-promise@2.2.0: - resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} - dev: true - - /@open-draft/logger@0.3.0: - resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} - dependencies: - is-node-process: 1.2.0 - outvariant: 1.4.2 + is-node-process: 1.2.0 + outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + resolution: + { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } dev: true /@openapi-codegen/cli@2.0.0(react@17.0.2): - resolution: {integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ==} + resolution: + { integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ== } hasBin: true dependencies: - '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) - '@swc/core': 1.3.89 + '@apollo/client': 3.9.8(graphql@15.8.0)(react@17.0.2) + '@swc/core': 1.4.8 case: 1.6.3 chalk: 5.3.0 cli-highlight: 2.1.11 clipanion: 3.2.1(typanion@3.14.0) fs-extra: 10.1.0 got: 12.6.1 - got-fetch: 5.1.6(got@12.6.1) + got-fetch: 5.1.8(got@12.6.1) graphql: 15.8.0 ink: 3.2.0(react@17.0.2) js-yaml: 4.1.0 @@ -4551,7 +4581,8 @@ packages: dev: true /@openapi-codegen/typescript@8.0.0: - resolution: {integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA==} + resolution: + { integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA== } dependencies: case: 1.6.3 lodash: 4.17.21 @@ -4563,19 +4594,22 @@ packages: dev: true /@opentelemetry/api-logs@0.49.1: - resolution: {integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q== } + engines: { node: '>=14' } dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } + engines: { node: '>=8.0.0' } /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4583,8 +4617,9 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4592,8 +4627,9 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4601,19 +4637,10 @@ packages: '@opentelemetry/semantic-conventions': 1.10.1 dev: false - /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/semantic-conventions': 1.18.1 - dev: false - /@opentelemetry/core@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4621,8 +4648,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4634,12 +4662,13 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-metrics-otlp-http': 0.36.1(@opentelemetry/api@1.8.0) @@ -4650,8 +4679,9 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4664,8 +4694,9 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4680,12 +4711,13 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-grpc-exporter-base': 0.36.1(@opentelemetry/api@1.8.0) @@ -4695,12 +4727,13 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-grpc-exporter-base': 0.49.1(@opentelemetry/api@1.8.0) @@ -4710,8 +4743,9 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4724,8 +4758,9 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4739,8 +4774,9 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4752,8 +4788,9 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4766,16 +4803,17 @@ packages: dev: false /@opentelemetry/instrumentation@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/api-logs': 0.49.1 - '@types/shimmer': 1.0.3 + '@types/shimmer': 1.0.5 import-in-the-middle: 1.7.1 - require-in-the-middle: 7.2.0 + require-in-the-middle: 7.2.1 semver: 7.6.0 shimmer: 1.2.1 transitivePeerDependencies: @@ -4783,8 +4821,9 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4793,8 +4832,9 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4803,12 +4843,13 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@grpc/proto-loader': 0.7.10 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) @@ -4816,33 +4857,36 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.8.0) - protobufjs: 7.2.5 + protobufjs: 7.2.6 dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.36.1(@opentelemetry/api@1.8.0) - protobufjs: 7.2.5 + protobufjs: 7.2.6 dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -4854,8 +4898,9 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -4869,8 +4914,9 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4879,8 +4925,9 @@ packages: dev: false /@opentelemetry/propagator-b3@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4889,8 +4936,9 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4899,8 +4947,9 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4909,8 +4958,9 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4919,20 +4969,10 @@ packages: '@opentelemetry/semantic-conventions': 1.10.1 dev: false - /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.18.1(@opentelemetry/api@1.8.0) - '@opentelemetry/semantic-conventions': 1.18.1 - dev: false - /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4941,8 +4981,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-logs@0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -4954,8 +4995,9 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -4965,21 +5007,10 @@ packages: lodash.merge: 4.6.2 dev: false - /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.18.1(@opentelemetry/api@1.8.0) - '@opentelemetry/resources': 1.18.1(@opentelemetry/api@1.8.0) - lodash.merge: 4.6.2 - dev: false - /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -4987,11 +5018,11 @@ packages: '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.8.0) lodash.merge: 4.6.2 - dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5013,8 +5044,9 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5025,8 +5057,9 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5036,8 +5069,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5051,8 +5085,9 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5066,70 +5101,80 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} - engines: {node: '>=14'} - dev: false - - /@opentelemetry/semantic-conventions@1.18.1: - resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } + engines: { node: '>=14' } dev: false /@opentelemetry/semantic-conventions@1.22.0: - resolution: {integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw== } + engines: { node: '>=14' } /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } + engines: { node: '>=14' } requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + resolution: + { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + resolution: + { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + resolution: + { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + resolution: + { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + resolution: + { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + resolution: + { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + resolution: + { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + resolution: + { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + resolution: + { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + resolution: + { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + resolution: + { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } + engines: { node: '>= 8.0.0' } dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.0.5(rollup@4.13.0): - resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} - engines: {node: '>=14.0.0'} + /@rollup/pluginutils@5.1.0(rollup@4.13.0): + resolution: + { integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== } + engines: { node: '>=14.0.0' } peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5143,7 +5188,8 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + resolution: + { integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg== } cpu: [arm] os: [android] requiresBuild: true @@ -5151,7 +5197,8 @@ packages: optional: true /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + resolution: + { integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q== } cpu: [arm64] os: [android] requiresBuild: true @@ -5159,7 +5206,8 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + resolution: + { integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g== } cpu: [arm64] os: [darwin] requiresBuild: true @@ -5167,7 +5215,8 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + resolution: + { integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg== } cpu: [x64] os: [darwin] requiresBuild: true @@ -5175,7 +5224,8 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + resolution: + { integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ== } cpu: [arm] os: [linux] requiresBuild: true @@ -5183,7 +5233,8 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + resolution: + { integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w== } cpu: [arm64] os: [linux] requiresBuild: true @@ -5191,7 +5242,8 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + resolution: + { integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw== } cpu: [arm64] os: [linux] requiresBuild: true @@ -5199,7 +5251,8 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + resolution: + { integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA== } cpu: [riscv64] os: [linux] requiresBuild: true @@ -5207,7 +5260,8 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + resolution: + { integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA== } cpu: [x64] os: [linux] requiresBuild: true @@ -5215,7 +5269,8 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + resolution: + { integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw== } cpu: [x64] os: [linux] requiresBuild: true @@ -5223,7 +5278,8 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + resolution: + { integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA== } cpu: [arm64] os: [win32] requiresBuild: true @@ -5231,7 +5287,8 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + resolution: + { integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw== } cpu: [ia32] os: [win32] requiresBuild: true @@ -5239,133 +5296,108 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + resolution: + { integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw== } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@sigstore/bundle@1.1.0: - resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - dev: true - - /@sigstore/protobuf-specs@0.2.1: - resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@sigstore/sign@1.0.0: - resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 1.1.0 - '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@sigstore/tuf@1.0.3: - resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 1.1.7 - transitivePeerDependencies: - - supports-color - dev: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@sindresorhus/is@4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } dev: true /@sindresorhus/is@5.6.0: - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } + engines: { node: '>=14.16' } /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } + engines: { node: '>=18' } dev: true /@sindresorhus/slugify@2.2.1: - resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } + engines: { node: '>=12' } dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 dev: false - /@size-limit/esbuild@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-+lWZbLc0X3c8uh6wdYv/5CGn58x1IgYAhCLQXvojxgn/j3TP72H2EigXLMcDXOgN3aps44yV3Qb2HIJppE+jYw==} - engines: {node: ^18.0.0 || >=20.0.0} + /@size-limit/esbuild@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } + engines: { node: ^18.0.0 || >=20.0.0 } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: esbuild: 0.20.2 nanoid: 5.0.6 - size-limit: 11.1.1 + size-limit: 11.1.2 dev: true - /@size-limit/file@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-c4XXp2CLvfx2RfzAqIAlxV6OWAQSVquLMNKKD6x9urJD7knjnTesPkbMcf3SkQbjCY4PlLL6kYhaO9drCWGM6g==} - engines: {node: ^18.0.0 || >=20.0.0} + /@size-limit/file@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } + engines: { node: ^18.0.0 || >=20.0.0 } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dev: true - /@size-limit/preset-small-lib@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-GW3T//znZXnk+a0VxkP241GCYZUn/RDr8Pn8p6pjdFqQy3PFrKiMq2QHyJLtGT/eRoYHL8e32mkNciQtQjZ4sQ==} + /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: - '@size-limit/esbuild': 11.1.1(size-limit@11.1.1) - '@size-limit/file': 11.1.1(size-limit@11.1.1) - size-limit: 11.1.1 + '@size-limit/esbuild': 11.1.2(size-limit@11.1.2) + '@size-limit/file': 11.1.2(size-limit@11.1.2) + size-limit: 11.1.2 dev: true /@smithy/abort-controller@2.2.0: - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + resolution: + { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + resolution: + { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5375,8 +5407,9 @@ packages: dev: true /@smithy/core@1.4.0: - resolution: {integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-retry': 2.2.0 @@ -5389,8 +5422,9 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5400,7 +5434,8 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + resolution: + { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5409,8 +5444,9 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5418,16 +5454,18 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5435,8 +5473,9 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5444,7 +5483,8 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + resolution: + { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -5454,7 +5494,8 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + resolution: + { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -5463,8 +5504,9 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -5473,8 +5515,9 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5482,21 +5525,24 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + resolution: + { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + resolution: + { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5504,8 +5550,9 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -5513,8 +5560,9 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.0: - resolution: {integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -5526,8 +5574,9 @@ packages: dev: true /@smithy/middleware-retry@2.2.0: - resolution: {integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -5541,24 +5590,27 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -5567,8 +5619,9 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -5578,24 +5631,27 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -5603,31 +5659,35 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.2.0: - resolution: {integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/is-array-buffer': 2.2.0 @@ -5640,8 +5700,9 @@ packages: dev: true /@smithy/smithy-client@2.5.0: - resolution: {integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-stack': 2.2.0 @@ -5652,14 +5713,16 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + resolution: + { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -5667,8 +5730,9 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -5676,36 +5740,41 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + resolution: + { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.0: - resolution: {integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g== } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.0 @@ -5715,8 +5784,9 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.0: - resolution: {integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw== } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -5728,8 +5798,9 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5737,23 +5808,26 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -5761,8 +5835,9 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -5775,122 +5850,136 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@swc/core-darwin-arm64@1.3.89: - resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} - engines: {node: '>=10'} + /@swc/core-darwin-arm64@1.4.8: + resolution: + { integrity: sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ== } + engines: { node: '>=10' } cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@swc/core-darwin-x64@1.3.89: - resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} - engines: {node: '>=10'} + /@swc/core-darwin-x64@1.4.8: + resolution: + { integrity: sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ== } + engines: { node: '>=10' } cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} - engines: {node: '>=10'} + /@swc/core-linux-arm-gnueabihf@1.4.8: + resolution: + { integrity: sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA== } + engines: { node: '>=10' } cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.89: - resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} - engines: {node: '>=10'} + /@swc/core-linux-arm64-gnu@1.4.8: + resolution: + { integrity: sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ== } + engines: { node: '>=10' } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.89: - resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} - engines: {node: '>=10'} + /@swc/core-linux-arm64-musl@1.4.8: + resolution: + { integrity: sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w== } + engines: { node: '>=10' } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.89: - resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} - engines: {node: '>=10'} + /@swc/core-linux-x64-gnu@1.4.8: + resolution: + { integrity: sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w== } + engines: { node: '>=10' } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-x64-musl@1.3.89: - resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} - engines: {node: '>=10'} + /@swc/core-linux-x64-musl@1.4.8: + resolution: + { integrity: sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q== } + engines: { node: '>=10' } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.89: - resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} - engines: {node: '>=10'} + /@swc/core-win32-arm64-msvc@1.4.8: + resolution: + { integrity: sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA== } + engines: { node: '>=10' } cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.89: - resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} - engines: {node: '>=10'} + /@swc/core-win32-ia32-msvc@1.4.8: + resolution: + { integrity: sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw== } + engines: { node: '>=10' } cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.89: - resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} - engines: {node: '>=10'} + /@swc/core-win32-x64-msvc@1.4.8: + resolution: + { integrity: sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg== } + engines: { node: '>=10' } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core@1.3.89: - resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} - engines: {node: '>=10'} + /@swc/core@1.4.8: + resolution: + { integrity: sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg== } + engines: { node: '>=10' } requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -5898,48 +5987,48 @@ packages: '@swc/helpers': optional: true dependencies: - '@swc/counter': 0.1.1 - '@swc/types': 0.1.5 + '@swc/counter': 0.1.3 + '@swc/types': 0.1.6 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.89 - '@swc/core-darwin-x64': 1.3.89 - '@swc/core-linux-arm-gnueabihf': 1.3.89 - '@swc/core-linux-arm64-gnu': 1.3.89 - '@swc/core-linux-arm64-musl': 1.3.89 - '@swc/core-linux-x64-gnu': 1.3.89 - '@swc/core-linux-x64-musl': 1.3.89 - '@swc/core-win32-arm64-msvc': 1.3.89 - '@swc/core-win32-ia32-msvc': 1.3.89 - '@swc/core-win32-x64-msvc': 1.3.89 - dev: true - - /@swc/counter@0.1.1: - resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} + '@swc/core-darwin-arm64': 1.4.8 + '@swc/core-darwin-x64': 1.4.8 + '@swc/core-linux-arm-gnueabihf': 1.4.8 + '@swc/core-linux-arm64-gnu': 1.4.8 + '@swc/core-linux-arm64-musl': 1.4.8 + '@swc/core-linux-x64-gnu': 1.4.8 + '@swc/core-linux-x64-musl': 1.4.8 + '@swc/core-win32-arm64-msvc': 1.4.8 + '@swc/core-win32-ia32-msvc': 1.4.8 + '@swc/core-win32-x64-msvc': 1.4.8 dev: true - /@swc/types@0.1.5: - resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + /@swc/counter@0.1.3: + resolution: + { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } dev: true - /@szmarczak/http-timer@4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + /@swc/types@0.1.6: + resolution: + { integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== } dependencies: - defer-to-connect: 2.0.1 + '@swc/counter': 0.1.3 dev: true /@szmarczak/http-timer@5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } + engines: { node: '>=14.16' } dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} + resolution: + { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} + resolution: + { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -5948,24 +6037,15 @@ packages: remark-frontmatter: 3.0.0 remark-gfm: 1.0.0 remark-parse: 9.0.0 - traverse: 0.6.7 + traverse: 0.6.8 unified: 9.2.2 transitivePeerDependencies: - supports-color dev: true - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: true - - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true - /@ts-morph/common@0.23.0: - resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} + resolution: + { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } dependencies: fast-glob: 3.3.2 minimatch: 9.0.3 @@ -5973,294 +6053,284 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + resolution: + { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + resolution: + { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + resolution: + { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - /@tufjs/canonical-json@1.0.0: - resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@tufjs/models@1.0.4: - resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 1.0.0 - minimatch: 9.0.3 - dev: true + resolution: + { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + resolution: + { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } dependencies: - '@babel/parser': 7.23.3 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - '@types/babel__generator': 7.6.5 - '@types/babel__template': 7.4.2 - '@types/babel__traverse': 7.20.2 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 dev: true - /@types/babel__generator@7.6.5: - resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} + /@types/babel__generator@7.6.8: + resolution: + { integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== } dependencies: '@babel/types': 7.24.0 dev: true - /@types/babel__template@7.4.2: - resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} + /@types/babel__template@7.4.4: + resolution: + { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== } dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true - /@types/babel__traverse@7.20.2: - resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} + /@types/babel__traverse@7.20.5: + resolution: + { integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== } dependencies: '@babel/types': 7.24.0 dev: true - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - dependencies: - '@types/http-cache-semantics': 4.0.2 - '@types/keyv': 3.1.4 - '@types/node': 20.11.29 - '@types/responselike': 1.0.0 - dev: true - /@types/cli-progress@3.11.5: - resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} + resolution: + { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 /@types/cookie@0.6.0: - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + resolution: + { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } dev: true /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/expect@1.20.4: - resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} + resolution: + { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } dev: true - /@types/http-cache-semantics@4.0.2: - resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} + /@types/http-cache-semantics@4.0.4: + resolution: + { integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== } /@types/ini@4.1.0: - resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} + resolution: + { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } dev: false - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== } dev: false - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: + { integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== } dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: false - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: + { integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== } dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 dev: false - /@types/json-schema@7.0.13: - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + /@types/json-schema@7.0.15: + resolution: + { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } dev: true /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 20.11.29 + resolution: + { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } dev: true /@types/lodash.chunk@4.2.9: - resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} + resolution: + { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.compact@3.0.9: - resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} + resolution: + { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.get@4.4.9: - resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} + resolution: + { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.pick@4.4.9: - resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} + resolution: + { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.set@4.3.9: - resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} + resolution: + { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true - /@types/lodash@4.14.199: - resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} + /@types/lodash@4.17.0: + resolution: + { integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== } dev: true - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + /@types/mdast@3.0.15: + resolution: + { integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== } dependencies: - '@types/unist': 2.0.8 - dev: true - - /@types/minimatch@3.0.5: - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + '@types/unist': 2.0.10 dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/minimist@1.2.5: + resolution: + { integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== } dev: true /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + resolution: + { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } dependencies: - '@types/node': 20.11.29 - dev: true + '@types/node': 20.11.30 /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - dev: true - - /@types/node@15.14.9: - resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} + resolution: + { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } dev: true - /@types/node@20.11.29: - resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} + /@types/node@20.11.30: + resolution: + { integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== } dependencies: undici-types: 5.26.5 - /@types/normalize-package-data@2.4.2: - resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + /@types/normalize-package-data@2.4.4: + resolution: + { integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== } /@types/papaparse@5.3.14: - resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} + resolution: + { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 dev: true - /@types/pg@8.11.3: - resolution: {integrity: sha512-xocw4LvpDcj/Ta7bN52tLZm34mso5SZ0Q8fVC0UtD8s85Itip3YHvBeYZhBmC0OThpdOujHsxXtRbEIRxqXPXg==} + /@types/pg@8.11.4: + resolution: + { integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 pg-protocol: 1.6.0 pg-types: 4.0.2 dev: true /@types/pluralize@0.0.33: - resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} + resolution: + { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } dev: true /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + resolution: + { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } dev: true /@types/prompts@2.4.9: - resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} + resolution: + { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} - dev: true - - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 20.11.29 + resolution: + { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } dev: true /@types/retry@0.12.1: - resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} + resolution: + { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } dev: false - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + resolution: + { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } - /@types/shimmer@1.0.3: - resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} + /@types/shimmer@1.0.5: + resolution: + { integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww== } dev: true - /@types/statuses@2.0.4: - resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} + /@types/statuses@2.0.5: + resolution: + { integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A== } dev: true /@types/text-table@0.2.5: - resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} + resolution: + { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } dev: true /@types/tmp@0.2.6: - resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} + resolution: + { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } dev: true - /@types/unist@2.0.8: - resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} - dev: true - - /@types/vinyl@2.0.7: - resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} - dependencies: - '@types/expect': 1.20.4 - '@types/node': 20.11.29 + /@types/unist@2.0.10: + resolution: + { integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== } dev: true /@types/which@3.0.3: - resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} + resolution: + { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } dev: true /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: true + resolution: + { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } - /@types/yargs-parser@21.0.1: - resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} + /@types/yargs-parser@21.0.3: + resolution: + { integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== } dev: false - /@types/yargs@16.0.6: - resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} + /@types/yargs@16.0.9: + resolution: + { integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== } dependencies: - '@types/yargs-parser': 21.0.1 + '@types/yargs-parser': 21.0.3 dev: false /@types/yoga-layout@1.9.2: - resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} + resolution: + { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6269,27 +6339,28 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.2 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6298,27 +6369,28 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.2 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6328,18 +6400,19 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6349,34 +6422,37 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.3.1: - resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag== } + engines: { node: ^18.18.0 || >=20.0.0 } dependencies: '@typescript-eslint/types': 7.3.1 '@typescript-eslint/visitor-keys': 7.3.1 dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6384,19 +6460,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6404,34 +6481,38 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: false /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } + engines: { node: ^16.0.0 || >=18.0.0 } dev: true /@typescript-eslint/types@7.3.1: - resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw== } + engines: { node: ^18.18.0 || >=20.0.0 } dev: true - /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.2): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.3): + resolution: + { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6444,15 +6525,16 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.2) - typescript: 5.4.2 + tsutils: 3.21.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.3): + resolution: + { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6466,15 +6548,16 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.2): - resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): + resolution: + { integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6488,24 +6571,25 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -6513,18 +6597,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -6533,48 +6618,53 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.3.1: - resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw== } + engines: { node: ^18.18.0 || >=20.0.0 } dependencies: '@typescript-eslint/types': 7.3.1 eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + resolution: + { integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== } dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } + engines: { node: '>=14' } hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) '@rollup/pluginutils': 4.2.1 - acorn: 8.10.0 + acorn: 8.11.3 async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.5 - node-gyp-build: 4.6.1 + node-gyp-build: 4.8.0 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -6582,37 +6672,42 @@ packages: dev: false /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + resolution: + { integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA== } dependencies: '@vitest/spy': 1.4.0 '@vitest/utils': 1.4.0 - chai: 4.3.10 + chai: 4.4.1 dev: true /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + resolution: + { integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg== } dependencies: '@vitest/utils': 1.4.0 p-limit: 5.0.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + resolution: + { integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A== } dependencies: - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 pretty-format: 29.7.0 dev: true /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + resolution: + { integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q== } dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 dev: true /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + resolution: + { integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg== } dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -6620,112 +6715,116 @@ packages: pretty-format: 29.7.0 dev: true - /@wry/context@0.7.3: - resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} - engines: {node: '>=8'} + /@wry/caches@1.0.1: + resolution: + { integrity: sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /@wry/equality@0.5.6: - resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} - engines: {node: '>=8'} + /@wry/context@0.7.4: + resolution: + { integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /@wry/trie@0.4.3: - resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} - engines: {node: '>=8'} + /@wry/equality@0.5.7: + resolution: + { integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + /@wry/trie@0.4.3: + resolution: + { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } + engines: { node: '>=8' } + dependencies: + tslib: 2.6.2 + dev: true - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + /@wry/trie@0.5.0: + resolution: + { integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== } + engines: { node: '>=8' } dependencies: - event-target-shim: 5.0.1 + tslib: 2.6.2 dev: true + /abbrev@1.1.1: + resolution: + { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + dev: false + /abstract-leveldown@0.12.4: - resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} + resolution: + { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } dependencies: xtend: 3.0.0 dev: true - /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + /acorn-import-assertions@1.9.0(acorn@8.11.3): + resolution: + { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } peerDependencies: acorn: ^8 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + resolution: + { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } + engines: { node: '>=0.4.0' } /acorn@5.7.4: - resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } + engines: { node: '>=0.4.0' } hasBin: true dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} + /acorn@8.11.3: + resolution: + { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } + engines: { node: '>=0.4.0' } hasBin: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + resolution: + { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } + engines: { node: '>= 6.0.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color - - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} - dependencies: - humanize-ms: 1.2.1 - dev: true - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true + dev: false /aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } + engines: { node: '>=12' } dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} + resolution: + { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } peerDependencies: ajv: ^8.0.1 dependencies: @@ -6733,7 +6832,8 @@ packages: dev: false /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -6742,7 +6842,8 @@ packages: dev: true /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + resolution: + { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -6751,92 +6852,111 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} + resolution: + { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} + resolution: + { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } dev: false /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } + engines: { node: '>=6' } /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } + engines: { node: '>=8' } dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } + engines: { node: '>=12' } dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } + engines: { node: '>=14.16' } dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: '>=8' } /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } + engines: { node: '>=12' } /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } + engines: { node: '>=4' } dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: '>=8' } dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } + engines: { node: '>=10' } /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } + engines: { node: '>=12' } dev: true /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + resolution: + { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } /any-date-parser@1.5.4: - resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} + resolution: + { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } dev: false /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + resolution: + { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } dev: true /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } + engines: { node: '>= 8' } dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + resolution: + { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + dev: false /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } + engines: { node: '>= 6' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -6851,8 +6971,9 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } + engines: { node: '>= 10' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -6867,8 +6988,9 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } + engines: { node: '>= 12.0.0' } dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -6879,11 +7001,12 @@ packages: dev: false /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } + engines: { node: '>= 10' } dependencies: archiver-utils: 2.1.0 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 @@ -6891,260 +7014,282 @@ packages: zip-stream: 4.1.1 dev: false - /archiver@6.0.1: - resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} - engines: {node: '>= 12.0.0'} + /archiver@6.0.2: + resolution: + { integrity: sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw== } + engines: { node: '>= 12.0.0' } dependencies: archiver-utils: 4.0.1 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 - tar-stream: 3.1.6 - zip-stream: 5.0.1 + tar-stream: 3.1.7 + zip-stream: 5.0.2 dev: false /are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } + engines: { node: '>=10' } dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: true + dev: false /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + resolution: + { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: + { integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - - /array-differ@3.0.0: - resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} - engines: {node: '>=8'} + call-bind: 1.0.7 + is-array-buffer: 3.0.4 dev: true - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} + /array-includes@3.1.8: + resolution: + { integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } + engines: { node: '>=8' } - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} + /array.prototype.findlastindex@1.2.5: + resolution: + { integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 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 dev: true /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + /arraybuffer.prototype.slice@1.0.3: + resolution: + { integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== } + engines: { node: '>= 0.4' } dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 dev: true /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true - - /arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } + engines: { node: '>=0.10.0' } dev: true /arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } + engines: { node: '>=12' } dev: false - /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true - - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + /asn1.js@4.10.1: + resolution: + { integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== } dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 - safer-buffer: 2.1.2 dev: true /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + resolution: + { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } dev: true /ast-module-types@5.0.0: - resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } + engines: { node: '>=14' } dev: false /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } + engines: { node: '>=8' } /async-listen@3.0.1: - resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } + engines: { node: '>= 14' } dev: false /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + resolution: + { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + resolution: + { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } dev: false - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.5: + resolution: + { integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== } /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } dev: false /auto-bind@4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } + engines: { node: '>=8' } dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + /available-typed-arrays@1.0.7: + resolution: + { integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== } + engines: { node: '>= 0.4' } + dependencies: + possible-typed-array-names: 1.0.0 dev: true - /axios@1.5.0: - resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} + /axios@1.6.8: + resolution: + { integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== } dependencies: - follow-redirects: 1.15.3 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + /b4a@1.6.6: + resolution: + { integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== } dev: false - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + resolution: + { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) - core-js-compat: 3.35.0 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) transitivePeerDependencies: - supports-color dev: true /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + resolution: + { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } dev: true /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /bare-events@2.2.2: + resolution: + { integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== } + requiresBuild: true + dev: false + optional: true - /before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - dev: true + /base64-js@1.5.1: + resolution: + { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} - engines: {node: '>= 12.13.0'} + resolution: + { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } + engines: { node: '>= 12.13.0' } peerDependencies: ajv: 4.11.8 - 8 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@humanwhocodes/momoa': 2.0.4 ajv: 8.12.0 chalk: 4.1.2 @@ -7153,94 +7298,92 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } + engines: { node: '>=4' } dependencies: is-windows: 1.0.2 dev: true - /bin-links@3.0.3: - resolution: {integrity: sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - cmd-shim: 5.0.0 - mkdirp-infer-owner: 2.0.0 - npm-normalize-package-bin: 2.0.0 - read-cmd-shim: 3.0.1 - rimraf: 3.0.2 - write-file-atomic: 4.0.2 - dev: true - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /binaryextensions@4.18.0: - resolution: {integrity: sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==} - engines: {node: '>=0.8'} + /binary-extensions@2.3.0: + resolution: + { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } + engines: { node: '>=8' } dev: true /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + resolution: + { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} + resolution: + { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + dev: false /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + resolution: + { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } dev: true /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + resolution: + { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } dev: true /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + resolution: + { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } dev: true /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } + engines: { node: '>=8' } dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + resolution: + { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + resolution: + { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } dev: true /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + resolution: + { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7251,7 +7394,8 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + resolution: + { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7259,7 +7403,8 @@ packages: dev: true /browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + resolution: + { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7268,7 +7413,8 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} + resolution: + { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7276,73 +7422,79 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + resolution: + { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true - /browserify-sign@4.2.1: - resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + /browserify-sign@4.2.3: + resolution: + { integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== } + engines: { node: '>= 0.12' } dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 create-hash: 1.2.0 create-hmac: 1.1.7 - elliptic: 6.5.4 + elliptic: 6.5.5 + hash-base: 3.0.4 inherits: 2.0.4 - parse-asn1: 5.1.6 - readable-stream: 3.6.2 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 safe-buffer: 5.2.1 dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + /browserslist@4.23.0: + resolution: + { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001570 - electron-to-chromium: 1.4.614 + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.715 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } dev: false /buffer-es6@4.9.3: - resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} + resolution: + { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } dev: true /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } dev: true /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== } + engines: { node: '>=4' } dev: true /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + resolution: + { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } dev: true /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + resolution: + { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true + dev: false - /bufrw@1.3.0: - resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} - engines: {node: '>= 0.10.x'} + /bufrw@1.4.0: + resolution: + { integrity: sha512-sWm8iPbqvL9+5SiYxXH73UOkyEbGQg7kyHQmReF89WJHQJw2eV4P/yZ0E+b71cczJ4pPobVhXxgQcmfSTgGHxQ== } + engines: { node: '>= 0.10.x' } dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7351,174 +7503,100 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - /builtins@1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - dev: true + resolution: + { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } + engines: { node: '>=6' } /builtins@2.0.1: - resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} + resolution: + { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + resolution: + { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } + engines: { node: '>=18' } dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } + engines: { node: '>=0.10.0' } dev: false /bytes-iec@3.1.1: - resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } + engines: { node: '>= 0.8' } dev: true /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /cacache@15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.2.0 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@17.1.4: - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.8 - lru-cache: 7.18.3 - minipass: 7.0.3 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 - unique-filename: 3.0.0 - dev: true - - /cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + resolution: + { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } + engines: { node: '>=8' } dev: true /cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } + engines: { node: '>=14.16' } - /cacheable-request@10.2.13: - resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} - engines: {node: '>=14.16'} + /cacheable-request@10.2.14: + resolution: + { integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== } + engines: { node: '>=14.16' } dependencies: - '@types/http-cache-semantics': 4.0.2 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.3 + keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.0.1 responselike: 3.0.0 - /cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.3 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: true - - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.7: + resolution: + { integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== } + engines: { node: '>= 0.4' } dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 /call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + resolution: + { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } dev: true /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } + engines: { node: '>=6' } /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + resolution: + { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } + engines: { node: '>=8' } dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -7526,20 +7604,24 @@ packages: dev: true /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } + engines: { node: '>=6' } dev: true /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } + engines: { node: '>=10' } dev: false - /caniuse-lite@1.0.30001570: - resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} + /caniuse-lite@1.0.30001600: + resolution: + { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + resolution: + { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -7547,23 +7629,27 @@ packages: dev: true /cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + resolution: + { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } + engines: { node: '>= 0.8.0' } /ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + resolution: + { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } dev: true - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} - engines: {node: '>=4'} + /chai@4.4.1: + resolution: + { integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== } + engines: { node: '>=4' } dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -7575,26 +7661,30 @@ packages: dev: true /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } + engines: { node: '>=4' } dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + resolution: + { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -7611,30 +7701,36 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + resolution: + { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } dev: true /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + resolution: + { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } dev: true /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + resolution: + { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } dev: true /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + resolution: + { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } dev: true /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + resolution: + { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + resolution: + { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -7648,76 +7744,84 @@ packages: dev: true /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } + engines: { node: '>=10' } + dev: false /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + resolution: + { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} + /ci-info@3.9.0: + resolution: + { integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== } + engines: { node: '>=8' } dev: true /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + resolution: + { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + resolution: + { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } dev: true /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } + engines: { node: '>=4' } dependencies: escape-string-regexp: 1.0.5 dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - /clean-stack@3.0.1: - resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } + engines: { node: '>=10' } dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } + engines: { node: '>=6' } dev: true /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } + engines: { node: '>=8' } dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} + resolution: + { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } + engines: { node: '>=8.0.0', npm: '>=5.0.0' } hasBin: true dependencies: chalk: 4.1.2 @@ -7729,51 +7833,43 @@ packages: dev: true /cli-progress@3.12.0: - resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } + engines: { node: '>=4' } dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: true - - /cli-table@0.3.11: - resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} - engines: {node: '>= 0.2.0'} - dependencies: - colors: 1.0.3 - dev: true + resolution: + { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } + engines: { node: '>=6' } /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } + engines: { node: '>=8' } dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } + engines: { node: '>=18' } dependencies: slice-ansi: 5.0.0 - string-width: 7.0.0 - dev: true - - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} + string-width: 7.1.0 dev: true /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: true + resolution: + { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } + engines: { node: '>= 12' } /clipanion@3.2.1(typanion@3.14.0): - resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} + resolution: + { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } peerDependencies: typanion: '*' dependencies: @@ -7781,7 +7877,8 @@ packages: dev: true /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + resolution: + { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -7789,7 +7886,8 @@ packages: dev: true /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + resolution: + { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -7797,108 +7895,88 @@ packages: dev: true /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } + engines: { node: '>=12' } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /clone-buffer@1.0.0: - resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} - engines: {node: '>= 0.10'} - dev: true - - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - - /clone-stats@1.0.0: - resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} - dev: true - /clone@0.1.19: - resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} + resolution: + { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } dev: true /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - dev: true - - /cloneable-readable@1.1.3: - resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} - dependencies: - inherits: 2.0.4 - process-nextick-args: 2.0.1 - readable-stream: 2.3.8 - dev: true - - /cmd-shim@5.0.0: - resolution: {integrity: sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - mkdirp-infer-owner: 2.0.0 + resolution: + { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } + engines: { node: '>=0.8' } dev: true /code-block-writer@13.0.1: - resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} + resolution: + { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } /code-excerpt@3.0.0: - resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } + engines: { node: '>=10' } dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: '>=7.0.0' } dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + resolution: + { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + resolution: + { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + resolution: + { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } hasBin: true + dev: false /color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} + resolution: + { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } + engines: { node: '>=12.5.0' } dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + resolution: + { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } dev: true /colors-option@3.0.0: - resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } + engines: { node: '>=12.20.0' } dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -7906,52 +7984,40 @@ packages: jest-validate: 27.5.1 dev: false - /colors@1.0.3: - resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} - engines: {node: '>=0.1.90'} - dev: true - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } + engines: { node: '>= 0.8' } dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } + engines: { node: '>=14' } dev: false /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } + engines: { node: '>=16' } dev: true /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + resolution: + { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } dev: false - /commander@7.1.0: - resolution: {integrity: sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==} - engines: {node: '>= 10'} - dev: true - - /common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: true - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + resolution: + { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } dev: false - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } + engines: { node: '>= 10' } dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -7959,22 +8025,25 @@ packages: readable-stream: 3.6.2 dev: false - /compress-commons@5.0.1: - resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} - engines: {node: '>= 12.0.0'} + /compress-commons@5.0.3: + resolution: + { integrity: sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA== } + engines: { node: '>= 12.0.0' } dependencies: crc-32: 1.2.2 - crc32-stream: 5.0.0 + crc32-stream: 5.0.1 normalize-path: 3.0.0 readable-stream: 3.6.2 dev: false /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + resolution: + { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } + engines: { '0': node >= 0.8 } dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -7983,14 +8052,18 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + resolution: + { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } dev: true /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + resolution: + { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + dev: false /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + resolution: + { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -7998,40 +8071,48 @@ packages: dev: true /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } + engines: { node: '>= 0.6' } dev: true /convert-hrtime@3.0.0: - resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } + engines: { node: '>=8' } dev: false /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } /convert-to-spaces@1.0.2: - resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } + engines: { node: '>= 4' } dev: true /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } + engines: { node: '>= 0.6' } dev: true - /core-js-compat@3.35.0: - resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + /core-js-compat@3.36.1: + resolution: + { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } - /cosmiconfig@9.0.0(typescript@5.4.2): - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} + /cosmiconfig@9.0.0(typescript@5.4.3): + resolution: + { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } + engines: { node: '>=14' } peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8042,12 +8123,13 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: false /cp-file@10.0.0: - resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } + engines: { node: '>=14.16' } dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8055,8 +8137,9 @@ packages: dev: false /cp-file@9.1.0: - resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } + engines: { node: '>=10' } dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8065,8 +8148,9 @@ packages: dev: false /cpy@9.0.1: - resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} - engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } + engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8079,36 +8163,41 @@ packages: dev: false /crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} + resolution: + { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } + engines: { node: '>=0.8' } hasBin: true dev: false /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } + engines: { node: '>= 10' } dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false - /crc32-stream@5.0.0: - resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} - engines: {node: '>= 12.0.0'} + /crc32-stream@5.0.1: + resolution: + { integrity: sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g== } + engines: { node: '>= 12.0.0' } dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + resolution: + { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } dependencies: bn.js: 4.12.0 - elliptic: 6.5.4 + elliptic: 6.5.5 dev: true /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + resolution: + { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8118,7 +8207,8 @@ packages: dev: true /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + resolution: + { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8129,17 +8219,20 @@ packages: dev: true /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + resolution: + { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } /cron-parser@4.9.0: - resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } + engines: { node: '>=12.0.0' } dependencies: - luxon: 3.4.3 + luxon: 3.4.4 dev: false /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + resolution: + { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8147,18 +8240,20 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } + engines: { node: '>= 8' } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + resolution: + { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.1 + browserify-sign: 4.2.3 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -8171,20 +8266,24 @@ packages: dev: true /csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + resolution: + { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } dev: true /csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + resolution: + { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } dev: true /csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + resolution: + { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } dev: true /csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} + resolution: + { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } + engines: { node: '>= 0.1.90' } dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8192,29 +8291,53 @@ packages: stream-transform: 2.1.3 dev: true - /dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + resolution: + { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } + engines: { node: '>= 12' } dev: false - /dataloader@1.4.0: - resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + /data-view-buffer@1.0.1: + resolution: + { integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + /data-view-byte-length@1.0.1: + resolution: + { integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: + /data-view-byte-offset@1.0.0: + resolution: + { integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /dataloader@1.4.0: + resolution: + { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + dev: true + + /debug@3.2.7: + resolution: + { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: supports-color: optional: true dependencies: @@ -8222,8 +8345,9 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8234,8 +8358,9 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8245,145 +8370,153 @@ packages: ms: 2.1.2 supports-color: 9.4.0 - /debuglog@1.0.1: - resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } + engines: { node: '>=0.10.0' } dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } + engines: { node: '>=0.10.0' } dev: true /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } + engines: { node: '>=10' } dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } + engines: { node: '>=6' } dependencies: type-detect: 4.0.8 dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } dev: true /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } + engines: { node: '>=0.10.0' } dev: false /default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } + engines: { node: '>=18' } dev: false /default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } + engines: { node: '>=18' } dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + resolution: + { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } + engines: { node: '>=10' } /deferred-leveldown@0.2.0: - resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} + resolution: + { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } dependencies: abstract-leveldown: 0.12.4 dev: true - /define-data-property@1.1.0: - resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} - engines: {node: '>= 0.4'} + /define-data-property@1.1.4: + resolution: + { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } + engines: { node: '>=12' } dev: false /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } + engines: { node: '>= 0.4' } dependencies: - define-data-property: 1.1.0 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } + engines: { node: '>=0.4.0' } dev: false /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - /deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true + resolution: + { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + dev: false /des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + resolution: + { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } + engines: { node: '>=8' } dev: true /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } + engines: { node: '>=12.20' } dev: true - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} + /detect-libc@2.0.3: + resolution: + { integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== } + engines: { node: '>=8' } dev: false /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /detective-amd@5.0.2: - resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8393,85 +8526,83 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } + engines: { node: '>=14' } dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dependencies: is-url: 1.2.4 - postcss: 8.4.35 - postcss-values-parser: 6.0.2(postcss@8.4.35) + postcss: 8.4.38 + postcss-values-parser: 6.0.2(postcss@8.4.38) dev: false /detective-sass@5.0.3: - resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } + engines: { node: '>=14' } dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } + engines: { node: ^14.14.0 || >=16.0.0 } dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.3) ast-module-types: 5.0.0 node-source-walk: 6.0.2 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: false - /dezalgo@1.0.4: - resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} - dependencies: - asap: 2.0.6 - wrappy: 1.0.2 - dev: true - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true + resolution: + { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } + engines: { node: '>=0.3.1' } /diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + resolution: + { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -8479,13 +8610,15 @@ packages: dev: true /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } + engines: { node: '>=8' } dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} + resolution: + { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -8499,21 +8632,24 @@ packages: dev: true /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } + engines: { node: '>=0.10.0' } dependencies: esutils: 2.0.3 dev: true /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } + engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + resolution: + { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -8521,18 +8657,21 @@ packages: dev: true /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + resolution: + { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } dev: true /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } + engines: { node: '>= 4' } dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + resolution: + { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -8540,37 +8679,43 @@ packages: dev: true /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + resolution: + { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } + engines: { node: '>=12' } dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } + engines: { node: '>=12' } /dotenv@8.6.0: - resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } + engines: { node: '>=10' } dev: true - /drizzle-orm@0.30.3(@opentelemetry/api@1.8.0)(@types/pg@8.11.3)(pg@8.11.3)(react@17.0.2): - resolution: {integrity: sha512-tmIUPy71Ca7BUD5M7Tn9bvXESDWoj66d6lTdKCdf30V26xDFFjbx7DMamhOiWU+H1fflBk5rCdtGyt2SiFPgRg==} + /drizzle-orm@0.30.4(@opentelemetry/api@1.8.0)(@types/pg@8.11.4)(@xata.io/client@packages+client)(pg@8.11.3)(react@17.0.2): + resolution: + { integrity: sha512-kWoSMGbrOFkmkAweLTFtHJMpN+nwhx89q0mLELqT2aEU+1szNV8jrnBmJwZ0WGNp7J7yQn/ezEtxBI/qzTSElQ== } peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -8584,6 +8729,7 @@ packages: '@types/react': '>=18' '@types/sql.js': '*' '@vercel/postgres': '*' + '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' expo-sqlite: '>=13.2.0' @@ -8620,6 +8766,8 @@ packages: optional: true '@vercel/postgres': optional: true + '@xata.io/client': + optional: true better-sqlite3: optional: true bun-types: @@ -8644,17 +8792,20 @@ packages: optional: true dependencies: '@opentelemetry/api': 1.8.0 - '@types/pg': 8.11.3 + '@types/pg': 8.11.4 + '@xata.io/client': link:packages/client pg: 8.11.3 react: 17.0.2 dev: true /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } /edge-runtime@2.5.9: - resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } + engines: { node: '>=16' } hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -8669,17 +8820,20 @@ packages: dev: false /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== } + engines: { node: '>=0.10.0' } hasBin: true dependencies: jake: 10.8.7 - /electron-to-chromium@1.4.614: - resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} + /electron-to-chromium@1.4.715: + resolution: + { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + /elliptic@6.5.5: + resolution: + { integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== } dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -8691,169 +8845,203 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} + resolution: + { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } dev: true /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + resolution: + { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } dev: true /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: true - optional: true + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } dependencies: once: 1.4.0 + dev: false - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} + /enhanced-resolve@5.16.0: + resolution: + { integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== } + engines: { node: '>=10.13.0' } dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } + engines: { node: '>=8.6' } dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + resolution: + { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } dev: true /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } + engines: { node: '>=0.12' } dev: true /env-editor@1.1.0: - resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } + engines: { node: '>=6' } + dev: false /env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: true - /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + resolution: + { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + resolution: + { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } dependencies: stackframe: 1.3.4 dev: false - /error@10.4.0: - resolution: {integrity: sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==} - dev: true - /error@7.0.2: - resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} + resolution: + { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false - /es-abstract@1.22.2: - resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + /es-abstract@1.23.2: + resolution: + { integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w== } + engines: { node: '>= 0.4' } + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.15 dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + /es-define-property@1.0.0: + resolution: + { integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== } + engines: { node: '>= 0.4' } + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: + { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } + engines: { node: '>= 0.4' } - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} + /es-module-lexer@1.4.2: + resolution: + { integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw== } + + /es-object-atoms@1.0.0: + resolution: + { integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== } + engines: { node: '>= 0.4' } + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.0.3: + resolution: + { integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: + { integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== } dependencies: - has: 1.0.3 + hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } + engines: { node: '>= 0.4' } dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -8861,12 +9049,14 @@ packages: dev: true /es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + resolution: + { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } dev: true /esbuild@0.19.11: - resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -8893,41 +9083,44 @@ packages: '@esbuild/win32-arm64': 0.19.11 '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - dev: true + dev: false - /esbuild@0.19.2: - resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} - engines: {node: '>=12'} + /esbuild@0.19.12: + resolution: + { integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.2 - '@esbuild/android-arm64': 0.19.2 - '@esbuild/android-x64': 0.19.2 - '@esbuild/darwin-arm64': 0.19.2 - '@esbuild/darwin-x64': 0.19.2 - '@esbuild/freebsd-arm64': 0.19.2 - '@esbuild/freebsd-x64': 0.19.2 - '@esbuild/linux-arm': 0.19.2 - '@esbuild/linux-arm64': 0.19.2 - '@esbuild/linux-ia32': 0.19.2 - '@esbuild/linux-loong64': 0.19.2 - '@esbuild/linux-mips64el': 0.19.2 - '@esbuild/linux-ppc64': 0.19.2 - '@esbuild/linux-riscv64': 0.19.2 - '@esbuild/linux-s390x': 0.19.2 - '@esbuild/linux-x64': 0.19.2 - '@esbuild/netbsd-x64': 0.19.2 - '@esbuild/openbsd-x64': 0.19.2 - '@esbuild/sunos-x64': 0.19.2 - '@esbuild/win32-arm64': 0.19.2 - '@esbuild/win32-ia32': 0.19.2 - '@esbuild/win32-x64': 0.19.2 - dev: false + '@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 + dev: true /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -8956,31 +9149,37 @@ packages: '@esbuild/win32-x64': 0.20.2 dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + /escalade@3.1.2: + resolution: + { integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== } + engines: { node: '>=6' } /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + resolution: + { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } + engines: { node: '>=0.8.0' } /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } + engines: { node: '>=8' } dev: true /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } + engines: { node: '>=10' } /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } + engines: { node: '>=12' } dev: false /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } + engines: { node: '>=6.0' } hasBin: true dependencies: esprima: 4.0.1 @@ -8990,18 +9189,19 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-oclif-typescript@3.1.3(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg==} - engines: {node: '>=18.0.0'} + /eslint-config-oclif-typescript@3.1.3(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg== } + engines: { node: '>=18.0.0' } dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) eslint-config-xo-space: 0.35.0(eslint@8.57.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-mocha: 10.4.1(eslint@8.57.0) eslint-plugin-n: 15.7.0(eslint@8.57.0) - eslint-plugin-perfectionist: 2.7.0(eslint@8.57.0)(typescript@5.4.2) + eslint-plugin-perfectionist: 2.7.0(eslint@8.57.0)(typescript@5.4.3) transitivePeerDependencies: - astro-eslint-parser - eslint @@ -9015,8 +9215,9 @@ packages: dev: true /eslint-config-oclif@5.1.1(eslint@8.57.0): - resolution: {integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ== } + engines: { node: '>=18.0.0' } dependencies: eslint-config-xo-space: 0.35.0(eslint@8.57.0) eslint-plugin-mocha: 10.4.1(eslint@8.57.0) @@ -9027,8 +9228,9 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@8.57.0): - resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } + engines: { node: '>=12' } peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9037,8 +9239,9 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@8.57.0): - resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } + engines: { node: '>=18' } peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9047,30 +9250,32 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + resolution: + { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } dependencies: debug: 3.2.7 is-core-module: 2.13.1 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@9.4.0) - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.1 - get-tsconfig: 4.7.2 - is-core-module: 2.13.0 + fast-glob: 3.3.2 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -9080,20 +9285,21 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.3.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@9.4.0) - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.1 - get-tsconfig: 4.7.2 - is-core-module: 2.13.0 + fast-glob: 3.3.2 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -9102,9 +9308,10 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: + { integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9123,7 +9330,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -9132,9 +9339,10 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: + { integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9153,7 +9361,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -9163,8 +9371,9 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@8.57.0): - resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} - engines: {node: '>=8.10.0'} + resolution: + { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } + engines: { node: '>=8.10.0' } peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9174,8 +9383,9 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9183,23 +9393,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 transitivePeerDependencies: @@ -9209,8 +9419,9 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9218,23 +9429,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 transitivePeerDependencies: @@ -9244,8 +9455,9 @@ packages: dev: true /eslint-plugin-mocha@10.4.1(eslint@8.57.0): - resolution: {integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA== } + engines: { node: '>=14.0.0' } peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9256,8 +9468,9 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@8.57.0): - resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} - engines: {node: '>=12.22.0'} + resolution: + { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } + engines: { node: '>=12.22.0' } peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9265,15 +9478,16 @@ packages: eslint: 8.57.0 eslint-plugin-es: 4.1.0(eslint@8.57.0) eslint-utils: 3.0.0(eslint@8.57.0) - ignore: 5.2.4 + ignore: 5.3.1 is-core-module: 2.13.1 minimatch: 3.1.2 - resolve: 1.22.6 + resolve: 1.22.8 semver: 7.6.0 dev: true - /eslint-plugin-perfectionist@2.7.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw==} + /eslint-plugin-perfectionist@2.7.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw== } peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9290,7 +9504,7 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 @@ -9300,14 +9514,15 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } + engines: { node: '>=16' } peerDependencies: eslint: '>=8.44.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - ci-info: 3.8.0 + ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.57.0 esquery: 1.5.0 @@ -9324,23 +9539,26 @@ packages: dev: true /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } + engines: { node: '>=6' } dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@8.57.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + resolution: + { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } + engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } peerDependencies: eslint: '>=5' dependencies: @@ -9349,26 +9567,30 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } + engines: { node: '>=4' } dev: true /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } + engines: { node: '>=10' } dev: true /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.8.2 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -9390,9 +9612,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.22.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -9410,85 +9632,84 @@ packages: dev: true /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } + engines: { node: '>=4' } hasBin: true /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } + engines: { node: '>=0.10' } dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } + engines: { node: '>=4.0' } dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } + engines: { node: '>=4.0' } /estree-walker@0.5.2: - resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} + resolution: + { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } dev: true /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + resolution: + { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } dev: true /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + resolution: + { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true - - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true + resolution: + { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } + engines: { node: '>=0.10.0' } /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true + resolution: + { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + resolution: + { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } + engines: { node: '>=10' } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9499,52 +9720,54 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: false /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 3.0.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 dev: false /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + resolution: + { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } + engines: { node: '>=16.17' } dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + resolution: + { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } dev: true /extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + resolution: + { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } dev: true /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } + engines: { node: '>=4' } dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -9552,30 +9775,23 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } /fast-equals@3.0.3: - resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} + resolution: + { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } dev: false /fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + resolution: + { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } dev: false - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } + engines: { node: '>=8.6.0' } dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -9584,176 +9800,195 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } dev: true /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } dev: true /fast-levenshtein@3.0.0: - resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + resolution: + { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + resolution: + { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + resolution: + { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} + resolution: + { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } + engines: { node: '>= 4.9.1' } - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: + { integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== } dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + resolution: + { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } dependencies: format: 0.2.2 dev: true - /fdir@6.1.0: - resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} + /fdir@6.1.1: + resolution: + { integrity: sha512-QfKBVg453Dyn3mr0Q0O+Tkr1r79lOTAKSi9f/Ot4+qVEwxWhav2Z+SudrG9vQjM2aYRMQQZ2/Q1zdA8ACM1pDg== } peerDependencies: - picomatch: 2.x + picomatch: 3.x peerDependenciesMeta: picomatch: optional: true dev: false /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } + engines: { node: ^12.20 || >= 14.13 } dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.3 dev: false /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } + engines: { node: '>=8' } dependencies: escape-string-regexp: 1.0.5 - dev: true /figures@4.0.1: - resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } + engines: { node: '>=14' } dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: - flat-cache: 3.1.0 + flat-cache: 3.2.0 dev: true /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + resolution: + { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } requiresBuild: true dev: false /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + resolution: + { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } + engines: { node: '>=8' } dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /filter-obj@5.1.0: - resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } + engines: { node: '>=14.16' } dev: false /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } + engines: { node: '>=8' } dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } + engines: { node: '>=10' } dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + resolution: + { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + resolution: + { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } dependencies: micromatch: 4.0.5 dev: true - /first-chunk-stream@2.0.0: - resolution: {integrity: sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==} - engines: {node: '>=0.10.0'} - dependencies: - readable-stream: 2.3.8 - dev: true - - /flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} + /flat-cache@3.2.0: + resolution: + { integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: - flatted: 3.2.9 - keyv: 4.5.3 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: + { integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== } dev: true - /follow-redirects@1.15.3: - resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} - engines: {node: '>=4.0'} + /follow-redirects@1.15.6: + resolution: + { integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== } + engines: { node: '>=4.0' } peerDependencies: debug: '*' peerDependenciesMeta: @@ -9762,30 +9997,35 @@ packages: dev: false /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + resolution: + { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} + resolution: + { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } dev: true /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } + engines: { node: '>=14' } dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} + resolution: + { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } + engines: { node: '>= 14.17' } /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } + engines: { node: '>= 6' } dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -9793,33 +10033,38 @@ packages: dev: false /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} + resolution: + { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } + engines: { node: '>=0.4.x' } dev: true /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } + engines: { node: '>=12.20.0' } dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } dev: false /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } + engines: { node: '>=12' } dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -9827,8 +10072,9 @@ packages: dev: true /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -9836,55 +10082,57 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } + engines: { node: '>= 8' } dependencies: minipass: 3.3.6 - - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: true + dev: false /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + 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} + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 functions-have-names: 1.2.3 dev: true /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + resolution: + { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } dev: true /fwd-stream@1.0.4: - resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} + resolution: + { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } + engines: { node: '>=10' } dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -9895,145 +10143,139 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true + dev: false /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } + engines: { node: '>=6.9.0' } /get-amd-module-type@5.0.1: - resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } + engines: { node: 6.* || 8.* || >= 10.* } /get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } + engines: { node: '>=18' } dev: true /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + resolution: + { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.4: + resolution: + { integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== } + engines: { node: '>= 0.4' } dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has: 1.0.3 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 + hasown: 2.0.2 /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } + engines: { node: '>=8.0.0' } /get-port@6.1.2: - resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true - - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 + resolution: + { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } + engines: { node: '>=12' } dev: true /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } + engines: { node: '>=10' } /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } + engines: { node: '>=16' } dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + /get-symbol-description@1.0.2: + resolution: + { integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + /get-tsconfig@4.7.3: + resolution: + { integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== } dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + resolution: + { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } dev: true /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: true - - /github-username@6.0.0: - resolution: {integrity: sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==} - engines: {node: '>=10'} - dependencies: - '@octokit/rest': 18.12.0 - transitivePeerDependencies: - - encoding + resolution: + { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } dev: true /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } + engines: { node: '>= 6' } dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } + engines: { node: '>=10.13.0' } dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + resolution: + { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } dev: false - /glob@10.3.8: - resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} - engines: {node: '>=16 || 14 >=14.17'} + /glob@10.3.10: + resolution: + { integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== } + engines: { node: '>=16 || 14 >=14.17' } hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.5 + jackspeak: 2.3.6 minimatch: 9.0.3 - minipass: 7.0.3 + minipass: 7.0.4 path-scurry: 1.10.1 dev: true /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10043,143 +10285,152 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } + engines: { node: '>=12' } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 + dev: false /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - /globals@13.22.0: - resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true + resolution: + { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } + engines: { node: '>=4' } /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } + engines: { node: '>=8' } dependencies: type-fest: 0.20.2 dev: true /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } + engines: { node: '>= 0.4' } dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } + engines: { node: '>=10' } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } + engines: { node: '>=18' } dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 dev: true /gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} + resolution: + { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } + engines: { node: '>=0.6.0' } hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + resolution: + { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } dependencies: - get-intrinsic: 1.2.1 - dev: true + get-intrinsic: 1.2.4 - /got-fetch@5.1.6(got@12.6.1): - resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} - engines: {node: '>=14.0.0'} + /got-fetch@5.1.8(got@12.6.1): + resolution: + { integrity: sha512-vh2oE8dEU9/dWxxCLKSwzjaPirhh+V+kEzwmUzktQSZ7qGaKDVvjhNSaXWEhpHLKLiGl0sPEUd1/lXpuuPpcPA== } + engines: { node: '>=14.0.0' } peerDependencies: got: ^12.0.0 dependencies: got: 12.6.1 dev: true - /got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + /got@12.6.1: + resolution: + { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } + engines: { node: '>=14.16' } dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - dev: true + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 - /got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} + /got@13.0.0: + resolution: + { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } + engines: { node: '>=16' } dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.13 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 + dev: true /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + resolution: + { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } dev: true /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + resolution: + { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } + 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 dependencies: @@ -10188,70 +10439,80 @@ packages: dev: true /graphql@15.8.0: - resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} - engines: {node: '>= 10.x'} + resolution: + { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } + engines: { node: '>= 10.x' } dev: true /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: true - - /grouped-queue@2.0.0: - resolution: {integrity: sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } + engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } dev: true /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } + engines: { node: '>=6' } dev: true /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + resolution: + { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } dev: true /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } + engines: { node: '>=4' } /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } + engines: { node: '>=8' } - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.2: + resolution: + { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== } dependencies: - get-intrinsic: 1.2.1 - dev: true + es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + /has-proto@1.0.3: + resolution: + { integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== } + engines: { node: '>= 0.4' } /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } + engines: { node: '>= 0.4' } - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + /has-tostringtag@1.0.2: + resolution: + { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + resolution: + { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hash-base@3.0.4: + resolution: + { integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== } + engines: { node: '>=4' } dependencies: - function-bind: 1.1.2 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } + engines: { node: '>=4' } dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10259,32 +10520,37 @@ packages: dev: true /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + resolution: + { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + /hasown@2.0.2: + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: '>= 0.4' } dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + resolution: + { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true - /headers-polyfill@4.0.2: - resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} + /headers-polyfill@4.0.3: + resolution: + { integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ== } dev: true /hexer@1.5.0: - resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} - engines: {node: '>= 0.10.x'} + resolution: + { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } + engines: { node: '>= 0.10.x' } hasBin: true dependencies: ansi-color: 0.2.1 @@ -10294,11 +10560,13 @@ packages: dev: false /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + resolution: + { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } dev: true /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + resolution: + { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -10306,37 +10574,35 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + resolution: + { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + resolution: + { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } dev: true /hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } + engines: { node: '>=10' } dependencies: lru-cache: 6.0.0 - /hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - lru-cache: 7.18.3 - dev: true - /hot-shots@10.0.0: - resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } + engines: { node: '>=10.0.0' } optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + resolution: + { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -10345,11 +10611,13 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + resolution: + { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } /http-call@5.3.0: - resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } + engines: { node: '>=8.0.0' } dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -10361,186 +10629,149 @@ packages: - supports-color dev: true - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - transitivePeerDependencies: - - supports-color - dev: true - - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - transitivePeerDependencies: - - supports-color - dev: true - /http2-client@1.3.5: - resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} - dev: true - - /http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 + resolution: + { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } dev: true - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} - engines: {node: '>=10.19.0'} + /http2-wrapper@2.2.1: + resolution: + { integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== } + engines: { node: '>=10.19.0' } dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } + engines: { node: '>= 6' } dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color + dev: false /human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + resolution: + { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } dev: true /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } + engines: { node: '>=10.17.0' } + dev: false /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } + engines: { node: '>=12.20.0' } dev: false /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - dependencies: - ms: 2.1.3 + resolution: + { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } + engines: { node: '>=16.17.0' } dev: true /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } + engines: { node: '>=18' } hasBin: true dev: true /hyperlinker@1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } + engines: { node: '>=4' } /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true + resolution: + { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } + engines: { node: '>=0.10.0' } dependencies: safer-buffer: 2.1.2 dev: true - optional: true /idb-wrapper@1.7.2: - resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} + resolution: + { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } dev: true /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore-walk@4.0.1: - resolution: {integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==} - engines: {node: '>=10'} - dependencies: - minimatch: 3.1.2 - dev: true - - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minimatch: 9.0.3 - dev: true + resolution: + { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + dev: false - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} + /ignore@5.3.1: + resolution: + { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } + engines: { node: '>= 4' } /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } + engines: { node: '>=6' } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} + resolution: + { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } dependencies: - acorn: 8.10.0 - acorn-import-assertions: 1.9.0(acorn@8.10.0) + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 dev: true /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } + engines: { node: '>=0.8.19' } dev: true /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } + engines: { node: '>=8' } /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } + engines: { node: '>=12' } dev: false /indexof@0.0.1: - resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} - dev: true - - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + resolution: + { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } dev: true /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } /ini@4.1.2: - resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dev: false /ink@3.2.0(react@17.0.2): - resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } + engines: { node: '>=10' } peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -10560,7 +10791,7 @@ packages: lodash: 4.17.21 patch-console: 1.0.0 react: 17.0.2 - react-devtools-core: 4.28.0 + react-devtools-core: 4.28.5 react-reconciler: 0.26.2(react@17.0.2) scheduler: 0.20.2 signal-exit: 3.0.7 @@ -10577,398 +10808,397 @@ packages: - utf-8-validate dev: true - /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 - dev: true - - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} + /internal-slot@1.0.7: + resolution: + { integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 dev: true /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: true + resolution: + { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } + engines: { node: '>= 0.10' } /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + resolution: + { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } dev: true /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + resolution: + { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: + { integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + resolution: + { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + resolution: + { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } + engines: { node: '>=8' } dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 dev: true /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } + engines: { node: '>=4' } dev: true /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } + engines: { node: '>=6' } dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } + engines: { node: '>= 0.4' } dev: true /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + resolution: + { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } hasBin: true dependencies: ci-info: 2.0.0 dev: true - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + /is-core-module@2.13.1: + resolution: + { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } dependencies: - has: 1.0.3 - dev: true + hasown: 2.0.2 - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-data-view@1.0.1: + resolution: + { integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== } + engines: { node: '>= 0.4' } dependencies: - hasown: 2.0.0 + is-typed-array: 1.1.13 + dev: true /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + resolution: + { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } dev: true /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } + engines: { node: '>=8' } hasBin: true /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true dev: false /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } + engines: { node: '>=0.10.0' } /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: '>=8' } /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } + engines: { node: '>=12' } dev: true /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } + engines: { node: '>=18' } dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + resolution: + { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } dev: true /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } + engines: { node: '>=14.16' } hasBin: true dependencies: is-docker: 3.0.0 dev: false - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: true - - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + /is-negative-zero@2.0.3: + resolution: + { integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== } + engines: { node: '>= 0.4' } dev: true /is-node-process@1.2.0: - resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + resolution: + { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } dev: true /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: '>=0.12.0' } /is-object@0.1.2: - resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} + resolution: + { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } dev: true /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } + engines: { node: '>=8' } dev: true /is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } + engines: { node: '>=12' } dev: false /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } + engines: { node: '>=0.10.0' } dev: true /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } + engines: { node: '>=8' } /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true + resolution: + { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } + engines: { node: '>=12' } /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } + engines: { node: '>=0.10.0' } dev: true - /is-scoped@2.1.0: - resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} - engines: {node: '>=8'} + /is-shared-array-buffer@1.0.3: + resolution: + { integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== } + engines: { node: '>= 0.4' } dependencies: - scoped-regex: 2.1.0 - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } + engines: { node: '>=8' } /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } + engines: { node: '>=4' } dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + /is-typed-array@1.1.13: + resolution: + { integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== } + engines: { node: '>= 0.4' } dependencies: - which-typed-array: 1.1.11 - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + which-typed-array: 1.1.15 dev: true /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } + engines: { node: '>=12' } dev: false /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } + engines: { node: '>=10' } dev: false /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + resolution: + { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } dev: false - /is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + resolution: + { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } + engines: { node: '>=0.10.0' } dev: true /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } + engines: { node: '>=8' } dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } + engines: { node: '>=16' } dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} + resolution: + { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } dev: true /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + resolution: + { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } dev: true /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - dev: true - - /isbinaryfile@5.0.0: - resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } dev: true /isbuffer@0.0.0: - resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} + resolution: + { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } dev: true /iserror@0.0.2: - resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} + resolution: + { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } dev: false /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } + engines: { node: '>=16' } dev: false - /jackspeak@2.3.5: - resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} - engines: {node: '>=14'} + /jackspeak@2.3.6: + resolution: + { integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== } + engines: { node: '>=14' } dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -10976,8 +11206,9 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } + engines: { node: '>=10' } dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -10987,23 +11218,26 @@ packages: dev: false /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } + engines: { node: '>=10' } hasBin: true dependencies: - async: 3.2.4 + async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dev: false /jest-validate@27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11014,170 +11248,177 @@ packages: dev: false /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + resolution: + { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } hasBin: true dev: true /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + resolution: + { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } dev: true /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + resolution: + { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } hasBin: true dev: true /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } + engines: { node: '>=4' } hasBin: true /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } + engines: { node: '>=6' } hasBin: true dev: true /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + resolution: + { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } dev: true /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - /json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + resolution: + { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } dev: true /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json-stringify-nice@1.1.4: - resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} + resolution: + { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } dev: true /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + resolution: + { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } + engines: { node: '>=6' } hasBin: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonc-parser@3.2.1: + resolution: + { integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== } /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: true - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } + engines: { node: '>=0.10.0' } dev: false /junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } + engines: { node: '>=12.20' } dev: false - /just-diff-apply@5.5.0: - resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} - dev: true - - /just-diff@5.2.0: - resolution: {integrity: sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==} - dev: true - /keep-func-props@4.0.1: - resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } + engines: { node: '>=12.20.0' } dependencies: mimic-fn: 4.0.0 dev: false - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /keyv@4.5.4: + resolution: + { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } dependencies: json-buffer: 3.0.1 /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } + engines: { node: '>=0.10.0' } dev: true /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } + engines: { node: '>=6' } dev: false /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } + engines: { node: '>=6' } dev: true /kysely@0.27.3: - resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } + engines: { node: '>=14.0.0' } dev: true /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + resolution: + { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } + engines: { node: '>= 0.6.3' } dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} + resolution: + { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11185,7 +11426,8 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} + resolution: + { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11199,23 +11441,27 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} + resolution: + { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } dev: true /level-fix-range@2.0.0: - resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} + resolution: + { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} + resolution: + { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} + resolution: + { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11226,13 +11472,15 @@ packages: dev: true /level-peek@1.0.6: - resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} + resolution: + { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} + resolution: + { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11241,7 +11489,8 @@ packages: dev: true /levelup@0.18.6: - resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} + resolution: + { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11253,34 +11502,40 @@ packages: dev: true /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } + engines: { node: '>=6' } dev: false /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } + engines: { node: '>=14' } dev: true /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } + engines: { node: '>=14' } dev: true /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } /lint-staged@15.2.2: - resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} - engines: {node: '>=18.12.0'} + resolution: + { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } + engines: { node: '>=18.12.0' } hasBin: true dependencies: chalk: 5.3.0 @@ -11298,20 +11553,22 @@ packages: dev: true /listr2@8.0.1: - resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } + engines: { node: '>=18.0.0' } dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 6.0.0 - rfdc: 1.3.0 + rfdc: 1.3.1 wrap-ansi: 9.0.0 dev: true /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } + engines: { node: '>=4' } dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -11320,8 +11577,9 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } + engines: { node: '>=6' } dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -11330,115 +11588,139 @@ packages: dev: true /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } + engines: { node: '>=14' } dependencies: - mlly: 1.4.2 + mlly: 1.6.1 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } + engines: { node: '>=8' } dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } + engines: { node: '>=10' } dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + resolution: + { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } dev: false /lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + resolution: + { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } dev: true /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + resolution: + { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } /lodash.chunk@4.2.0: - resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} + resolution: + { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } dev: false /lodash.compact@3.0.1: - resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} + resolution: + { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } dev: false /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } dev: true /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + resolution: + { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } dev: false /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + resolution: + { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } dev: false /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + resolution: + { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } dev: false /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + resolution: + { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } dev: false /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + resolution: + { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } dev: false /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + resolution: + { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } /lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} + resolution: + { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } dev: false /lodash.set@4.3.2: - resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} + resolution: + { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } dev: false /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + resolution: + { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } dev: true /lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + resolution: + { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + resolution: + { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + resolution: + { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } dev: false /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } /log-process-errors@8.0.0: - resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } + engines: { node: '>=12.20.0' } dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -11449,17 +11731,10 @@ packages: semver: 7.6.0 dev: false - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } + engines: { node: '>=18' } dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -11469,225 +11744,160 @@ packages: dev: true /long@2.4.0: - resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} - engines: {node: '>=0.6'} + resolution: + { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } + engines: { node: '>=0.6' } dev: false /long@5.2.3: - resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + resolution: + { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } /longest-streak@2.0.4: - resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + resolution: + { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } dev: true /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + resolution: + { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + resolution: + { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + resolution: + { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } dependencies: tslib: 2.6.2 dev: true - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - /lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + resolution: + { integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== } + engines: { node: 14 || >=16.14 } dev: true /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + resolution: + { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } + engines: { node: '>=10' } dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true - /ltgt@2.2.1: - resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + resolution: + { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } dev: true - /luxon@3.4.3: - resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} - engines: {node: '>=12'} + /luxon@3.4.4: + resolution: + { integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== } + engines: { node: '>=12' } dev: false /macos-release@3.2.0: - resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /magic-string@0.22.5: - resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} + resolution: + { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} + resolution: + { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + resolution: + { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } dependencies: sourcemap-codec: 1.4.8 dev: true - /magic-string@0.30.4: - resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} + /magic-string@0.30.8: + resolution: + { integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== } + engines: { node: '>=12' } dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } + engines: { node: '>=8' } dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - /make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 16.1.3 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 9.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 17.1.4 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 5.0.0 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: true - - /make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - dependencies: - agentkeepalive: 4.5.0 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true + resolution: + { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } + engines: { node: '>=0.10.0' } dev: true /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } + engines: { node: '>=8' } dev: true /map-obj@5.0.2: - resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + resolution: + { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + resolution: + { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -11695,7 +11905,8 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} + resolution: + { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -11703,7 +11914,8 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} + resolution: + { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -11712,9 +11924,10 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + resolution: + { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -11724,13 +11937,15 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} + resolution: + { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} + resolution: + { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -11740,26 +11955,30 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} + resolution: + { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} + resolution: + { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} + resolution: + { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} + resolution: + { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -11771,9 +11990,10 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} + resolution: + { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 longest-streak: 2.0.4 mdast-util-to-string: 2.0.0 parse-entities: 2.0.0 @@ -11782,50 +12002,21 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true - - /mem-fs-editor@9.7.0(mem-fs@2.3.0): - resolution: {integrity: sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==} - engines: {node: '>=12.10.0'} - peerDependencies: - mem-fs: ^2.1.0 - peerDependenciesMeta: - mem-fs: - optional: true - dependencies: - binaryextensions: 4.18.0 - commondir: 1.0.1 - deep-extend: 0.6.0 - ejs: 3.1.9 - globby: 11.1.0 - isbinaryfile: 5.0.0 - mem-fs: 2.3.0 - minimatch: 7.4.6 - multimatch: 5.0.0 - normalize-path: 3.0.0 - textextensions: 5.16.0 - dev: true - - /mem-fs@2.3.0: - resolution: {integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==} - engines: {node: '>=12'} - dependencies: - '@types/node': 15.14.9 - '@types/vinyl': 2.0.7 - vinyl: 2.2.1 - vinyl-file: 3.0.0 + resolution: + { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } dev: true /memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + resolution: + { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } dev: false /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } + engines: { node: '>=8' } dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -11839,29 +12030,35 @@ packages: dev: true /merge-options@3.0.4: - resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } + engines: { node: '>=10' } dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } + engines: { node: '>= 8' } /micro-api-client@3.3.0: - resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} + resolution: + { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } dev: false /micro-memoize@4.1.2: - resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} + resolution: + { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } dev: false /micromark-extension-footnote@0.3.2: - resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} + resolution: + { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11869,13 +12066,15 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} + resolution: + { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} + resolution: + { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11883,7 +12082,8 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} + resolution: + { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11891,7 +12091,8 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} + resolution: + { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11899,11 +12100,13 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} + resolution: + { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} + resolution: + { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11911,7 +12114,8 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} + resolution: + { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -11924,7 +12128,8 @@ packages: dev: true /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + resolution: + { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -11933,14 +12138,16 @@ packages: dev: true /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } + engines: { node: '>=8.6' } dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + resolution: + { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } hasBin: true dependencies: bn.js: 4.12.0 @@ -11948,78 +12155,79 @@ packages: dev: true /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } + engines: { node: '>= 0.6' } dev: false /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } + engines: { node: '>= 0.6' } dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } + engines: { node: '>=6' } /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true + resolution: + { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } + engines: { node: '>=12' } /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } + engines: { node: '>=10' } /mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } + engines: { node: '>=4' } dev: true /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + resolution: + { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } dev: true /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + resolution: + { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } dev: true /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + resolution: + { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } + engines: { node: '>=10' } dependencies: brace-expansion: 2.0.1 - dev: true /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } + engines: { node: '>=16 || 14 >=14.17' } dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } + engines: { node: '>= 6' } dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12027,134 +12235,71 @@ packages: dev: true /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - dev: true - - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: true + resolution: + { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } + engines: { node: '>=8' } dependencies: yallist: 4.0.0 + dev: false /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } + engines: { node: '>=8' } + dev: false - /minipass@7.0.3: - resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} - engines: {node: '>=16 || 14 >=14.17'} + /minipass@7.0.4: + resolution: + { integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== } + engines: { node: '>=16 || 14 >=14.17' } dev: true /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } + engines: { node: '>= 8' } dependencies: minipass: 3.3.6 yallist: 4.0.0 + dev: false - /mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} - engines: {node: '>= 8.0.0'} - dev: true - - /mkdirp-infer-owner@2.0.0: - resolution: {integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - infer-owner: 1.0.4 - mkdirp: 1.0.4 + /mixme@0.5.10: + resolution: + { integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q== } + engines: { node: '>= 8.0.0' } dev: true /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } + engines: { node: '>=10' } hasBin: true + dev: false /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } + engines: { node: '>=10' } hasBin: true - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + /mlly@1.6.1: + resolution: + { integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== } dependencies: - acorn: 8.10.0 - pathe: 1.1.1 + acorn: 8.11.3 + pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.0 + ufo: 1.5.3 dev: true /module-definition@5.0.1: - resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12162,37 +12307,44 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + resolution: + { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } /moize@6.1.6: - resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} + resolution: + { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } + engines: { node: '>=4' } dev: false /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } dev: true - /msw@2.2.8(typescript@5.4.2): - resolution: {integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q==} - engines: {node: '>=18'} + /msw@2.2.10(typescript@5.4.3): + resolution: + { integrity: sha512-OQhHBocUsI8j+czCTRouGCGYE8pk6hq8HQ0HFg9mYQg7KCzqVpUSbMikmRbRXGoid28FFvYqjbxB3/UWw50VZQ== } + engines: { node: '>=18' } hasBin: true requiresBuild: true peerDependencies: @@ -12203,153 +12355,149 @@ packages: dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.0.0 + '@inquirer/confirm': 3.1.0 '@mswjs/cookies': 1.1.0 '@mswjs/interceptors': 0.25.16 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.4 + '@types/statuses': 2.0.5 chalk: 4.1.2 graphql: 16.8.1 - headers-polyfill: 4.0.2 + headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.2 path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 - type-fest: 4.9.0 - typescript: 5.4.2 + type-fest: 4.13.1 + typescript: 5.4.3 yargs: 17.7.2 dev: true - /multimatch@5.0.0: - resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} - engines: {node: '>=10'} - dependencies: - '@types/minimatch': 3.0.5 - array-differ: 3.0.0 - array-union: 2.1.0 - arrify: 2.0.1 - minimatch: 3.1.2 - dev: true - - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + resolution: + { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + resolution: + { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 dev: true - /nan@2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} + /nan@2.19.0: + resolution: + { integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== } requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true /nanoid@5.0.6: - resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} - engines: {node: ^18 || >=20} + resolution: + { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } + engines: { node: ^18 || >=20 } hasBin: true dev: true /nanospinner@1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} + resolution: + { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + resolution: + { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } dev: true /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } dev: true /natural-orderby@2.0.3: - resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} - - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + resolution: + { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } /nested-error-stacks@2.1.1: - resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} + resolution: + { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } dev: false - /netlify-headers-parser@7.1.2: - resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-headers-parser@7.1.4: + resolution: + { integrity: sha512-fTVQf8u65vS4YTP2Qt1K6Np01q3yecRKXf6VMONMlWbfl5n3M/on7pZlZISNAXHNOtnVt+6Kpwfl+RIeALC8Kg== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: + '@iarna/toml': 2.2.5 escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 is-plain-obj: 4.1.0 map-obj: 5.0.2 path-exists: 5.0.0 - toml: 3.0.0 dev: false - /netlify-redirect-parser@14.2.0: - resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-redirect-parser@14.2.2: + resolution: + { integrity: sha512-LS3cbHZfATtfZFeJr8RLBREAjCE1rEG1CybKnA6dTLgXez0lGJE/QTPzjn6GqfNmiMowo15YQe4+UjRhbzQ04w== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: + '@iarna/toml': 2.2.5 fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 is-plain-obj: 4.1.0 path-exists: 5.0.0 - toml: 3.0.0 dev: false - /netlify@13.1.10: - resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify@13.1.14: + resolution: + { integrity: sha512-7vSq6so7lPjr3HEpjbtLyde0F3IXOzD0ocJs3s2wnJR+nX+8pWOAVGe+KN6S98odsClJBJxCkWG2rLjTBzW9pw== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: - '@netlify/open-api': 2.22.0 + '@netlify/open-api': 2.28.0 lodash-es: 4.17.21 micro-api-client: 3.3.0 node-fetch: 3.3.2 omit.js: 2.0.2 p-wait-for: 4.1.0 - qs: 6.11.2 + qs: 6.12.0 dev: false /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + resolution: + { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + resolution: + { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } + engines: { node: '>=10.5.0' } dev: false /node-fetch-h2@2.3.0: - resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} - engines: {node: 4.x || >=6.0.0} + resolution: + { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } + engines: { node: 4.x || >=6.0.0 } dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} + resolution: + { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } + engines: { node: 4.x || >=6.0.0 } peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12359,289 +12507,117 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.6.1: - resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + /node-gyp-build@4.8.0: + resolution: + { integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== } hasBin: true dev: false - /node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /node-gyp@9.4.0: - resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 11.1.1 - nopt: 6.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + resolution: + { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } dev: false /node-readfiles@0.2.0: - resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + resolution: + { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + resolution: + { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } /node-source-walk@6.0.2: - resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } + engines: { node: '>=14' } dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } + engines: { node: '>=0.12.0' } dev: false /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } + engines: { node: '>=6' } hasBin: true dependencies: abbrev: 1.1.1 - - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: true + dev: false /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + resolution: + { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.6 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true /normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } + engines: { node: '>=10' } dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 - /normalize-package-data@5.0.0: - resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - hosted-git-info: 6.1.1 - is-core-module: 2.13.1 - semver: 7.6.0 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } + engines: { node: '>=0.10.0' } dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - - /npm-bundled@1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - dependencies: - npm-normalize-package-bin: 1.0.1 - dev: true - - /npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - npm-normalize-package-bin: 3.0.1 - dev: true - - /npm-install-checks@4.0.0: - resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /npm-install-checks@6.2.0: - resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.6.0 - dev: true - - /npm-normalize-package-bin@1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - dev: true - - /npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - hosted-git-info: 6.1.1 - proc-log: 3.0.0 - semver: 7.6.0 - validate-npm-package-name: 5.0.0 - dev: true + resolution: + { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } + engines: { node: '>=0.10.0' } - /npm-package-arg@8.1.5: - resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - semver: 7.6.0 - validate-npm-package-name: 3.0.0 - dev: true - - /npm-packlist@3.0.0: - resolution: {integrity: sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - glob: 7.2.3 - ignore-walk: 4.0.1 - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: true - - /npm-packlist@7.0.4: - resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - ignore-walk: 6.0.3 - dev: true - - /npm-pick-manifest@6.1.1: - resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} - dependencies: - npm-install-checks: 4.0.0 - npm-normalize-package-bin: 1.0.1 - npm-package-arg: 8.1.5 - semver: 7.6.0 - dev: true - - /npm-pick-manifest@8.0.2: - resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - npm-install-checks: 6.2.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 10.1.0 - semver: 7.6.0 - dev: true - - /npm-registry-fetch@12.0.2: - resolution: {integrity: sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - dependencies: - make-fetch-happen: 10.2.1 - minipass: 3.3.6 - minipass-fetch: 1.4.1 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 8.1.5 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /npm-registry-fetch@14.0.5: - resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - make-fetch-happen: 11.1.1 - minipass: 5.0.0 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 10.1.0 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true + /normalize-url@8.0.1: + resolution: + { integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== } + engines: { node: '>=14.16' } /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } + engines: { node: '>=8' } dependencies: path-key: 3.1.1 + dev: false - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /npm-run-path@5.3.0: + resolution: + { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: path-key: 4.0.0 - /npm@10.5.0: - resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} - engines: {node: ^18.17.0 || >=20.5.0} + /npm@10.2.4: + resolution: + { integrity: sha512-umEuYneVEYO9KoEEI8n2sSGmNQeqco/3BSeacRlqIkCzw4E7XGtYSWMeJobxzr6hZ2n9cM+u5TsMTcC5bAgoWA== } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true dev: false bundledDependencies: @@ -12707,6 +12683,7 @@ packages: - semver - spdx-expression-parse - ssri + - strip-ansi - supports-color - tar - text-table @@ -12717,31 +12694,25 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + resolution: + { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: true + dev: false /oas-kit-common@1.0.8: - resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + resolution: + { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + resolution: + { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -12749,7 +12720,8 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + resolution: + { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -12760,11 +12732,13 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + resolution: + { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } dev: true /oas-validator@5.0.8: - resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + resolution: + { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -12777,14 +12751,17 @@ packages: dev: true /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } + engines: { node: '>=0.10.0' } - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.1: + resolution: + { integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== } /object-keys@0.2.0: - resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} + resolution: + { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -12793,120 +12770,136 @@ packages: dev: true /object-keys@0.4.0: - resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} + resolution: + { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } dev: true /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } + engines: { node: '>= 0.4' } dev: true /object-treeify@1.1.33: - resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } + engines: { node: '>= 10' } - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + /object.assign@4.1.5: + resolution: + { integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} + /object.fromentries@2.0.8: + resolution: + { integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.3: + resolution: + { integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.23.2 dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + /object.values@1.2.0: + resolution: + { integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + resolution: + { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } dev: true - /oclif@4.5.7: - resolution: {integrity: sha512-We/j5WbemIw6DSbwFUpThrUGF2dv37CpyyAC83a+oAwBQELx2KddfrXxSR6Nv7hmkwf3nfuKGb89uLl35qOOLA==} - engines: {node: '>=18.0.0'} + /oclif@4.6.1: + resolution: + { integrity: sha512-PImUoF6NiWVjaZ1GHeqD6aUUsWLot/7wey1WxOzei/dn4lK1nGH3/UXRSAGG6OciSlzuwNClPKfqNwKAVPm3OQ== } + engines: { node: '>=18.0.0' } hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 - '@aws-sdk/client-s3': 3.535.0 - '@oclif/core': 3.25.2 + '@aws-sdk/client-s3': 3.537.0 + '@inquirer/confirm': 3.1.0 + '@inquirer/input': 2.1.0 + '@inquirer/select': 2.2.0 + '@oclif/core': 3.25.3 '@oclif/plugin-help': 6.0.18 - '@oclif/plugin-not-found': 3.0.14 - '@oclif/plugin-warn-if-update-available': 3.0.12 + '@oclif/plugin-not-found': 3.1.0 + '@oclif/plugin-warn-if-update-available': 3.0.14 async-retry: 1.3.3 + chalk: 4.1.2 change-case: 4.1.2 debug: 4.3.4(supports-color@9.4.0) + ejs: 3.1.9 find-yarn-workspace-root: 2.0.0 fs-extra: 8.1.0 github-slugger: 1.5.0 - got: 11.8.6 + got: 13.0.0 lodash.template: 4.5.0 normalize-package-data: 3.0.3 semver: 7.6.0 sort-package-json: 2.8.0 validate-npm-package-name: 5.0.0 - yeoman-environment: 3.19.3 - yeoman-generator: 5.9.0(yeoman-environment@3.19.3) transitivePeerDependencies: - aws-crt - - bluebird - - encoding - - mem-fs - supports-color dev: true /octal@1.0.0: - resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} + resolution: + { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } dev: true /omit.js@2.0.2: - resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} + resolution: + { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } dev: false /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } + engines: { node: '>=6' } dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } + engines: { node: '>=12' } dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } + engines: { node: '>=18' } dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -12915,27 +12908,32 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} + resolution: + { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } + engines: { node: '>=0.10' } dev: false - /optimism@0.17.5: - resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} + /optimism@0.18.0: + resolution: + { integrity: sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== } dependencies: - '@wry/context': 0.7.3 + '@wry/caches': 1.0.1 + '@wry/context': 0.7.4 '@wry/trie': 0.4.3 tslib: 2.6.2 dev: true /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } + engines: { node: '>= 0.8.0' } dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -12945,323 +12943,250 @@ packages: type-check: 0.4.0 dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /os-name@5.1.0: - resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } + engines: { node: '>=0.10.0' } dev: true /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + resolution: + { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } dev: true /outvariant@1.4.2: - resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} - dev: true - - /p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } dev: true /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } + engines: { node: '>=12.20' } /p-event@4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } + engines: { node: '>=8' } dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } + engines: { node: '>=8' } dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } + engines: { node: '>=8' } dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } + engines: { node: '>=4' } + dev: false /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } + engines: { node: '>=6' } dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } + engines: { node: '>=10' } dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } + engines: { node: '>=18' } dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } + engines: { node: '>=8' } dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } + engines: { node: '>=10' } dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true + resolution: + { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } + engines: { node: '>=6' } /p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } + engines: { node: '>=12' } dependencies: aggregate-error: 4.0.1 dev: false - /p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 - dev: true - /p-queue@8.0.1: - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } + engines: { node: '>=18' } dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } + engines: { node: '>=12' } dev: false /p-retry@5.1.2: - resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } + engines: { node: '>=8' } dependencies: p-finally: 1.0.0 + dev: false /p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } + engines: { node: '>=12' } dev: false /p-timeout@6.1.2: - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } + engines: { node: '>=14.16' } dev: false - /p-transform@1.3.0: - resolution: {integrity: sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==} - engines: {node: '>=12.10.0'} - dependencies: - debug: 4.3.4(supports-color@9.4.0) - p-queue: 6.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } + engines: { node: '>=6' } dev: true /p-wait-for@4.1.0: - resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } + engines: { node: '>=12' } dependencies: p-timeout: 5.1.0 dev: false /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - dev: true - - /pacote@12.0.3: - resolution: {integrity: sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - hasBin: true - dependencies: - '@npmcli/git': 2.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/promise-spawn': 1.3.2 - '@npmcli/run-script': 2.0.0 - cacache: 15.3.0 - chownr: 2.0.0 - fs-minipass: 2.1.0 - infer-owner: 1.0.4 - minipass: 3.3.6 - mkdirp: 1.0.4 - npm-package-arg: 8.1.5 - npm-packlist: 3.0.0 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 12.0.2 - promise-retry: 2.0.1 - read-package-json-fast: 2.0.3 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /pacote@15.2.0: - resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - '@npmcli/git': 4.1.0 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.2 - cacache: 17.1.4 - fs-minipass: 3.0.3 - minipass: 5.0.0 - npm-package-arg: 10.1.0 - npm-packlist: 7.0.4 - npm-pick-manifest: 8.0.2 - npm-registry-fetch: 14.0.5 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 6.0.4 - read-package-json-fast: 3.0.2 - sigstore: 1.9.0 - ssri: 10.0.5 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color + resolution: + { integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== } dev: true /papaparse@5.4.1: - resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} + resolution: + { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } dev: false /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + resolution: + { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } + engines: { node: '>=6' } dependencies: callsites: 3.1.0 - /parse-asn1@5.1.6: - resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + /parse-asn1@5.1.7: + resolution: + { integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== } + engines: { node: '>= 0.10' } dependencies: - asn1.js: 5.4.1 + asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 + hash-base: 3.0.4 pbkdf2: 3.1.2 safe-buffer: 5.2.1 dev: true - /parse-conflict-json@2.0.2: - resolution: {integrity: sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - json-parse-even-better-errors: 2.3.1 - just-diff: 5.2.0 - just-diff-apply: 5.5.0 - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + resolution: + { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13272,137 +13197,163 @@ packages: dev: true /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } + engines: { node: '>=4' } dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } + engines: { node: '>=8' } dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } + engines: { node: '>=6' } dev: false /parse-ms@3.0.0: - resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } + engines: { node: '>=12' } dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + resolution: + { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + resolution: + { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } dev: true /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + resolution: + { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } dev: true /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + resolution: + { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} + resolution: + { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } + engines: { node: '>=10' } dev: true /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + resolution: + { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + resolution: + { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } + engines: { node: '>=8' } dev: true /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } + engines: { node: '>=0.10.0' } /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: '>=8' } /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } + engines: { node: '>=12' } /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } + engines: { node: '>=16 || 14 >=14.17' } dependencies: lru-cache: 10.2.0 - minipass: 7.0.3 + minipass: 7.0.4 dev: true /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + resolution: + { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } dev: true /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } + engines: { node: '>=4' } dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } + engines: { node: '>=8' } /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } + engines: { node: '>=12' } - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: + { integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== } dev: true /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + resolution: + { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } dev: true /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } + engines: { node: '>=0.12' } dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13412,27 +13363,32 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + resolution: + { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } requiresBuild: true dev: true optional: true /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + resolution: + { integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== } dev: true /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + resolution: + { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } + engines: { node: '>=4.0.0' } dev: true /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } + engines: { node: '>=4' } dev: true /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + resolution: + { integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== } peerDependencies: pg: '>=8.0' dependencies: @@ -13440,12 +13396,14 @@ packages: dev: true /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + resolution: + { integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== } dev: true /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } + engines: { node: '>=4' } dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13455,8 +13413,9 @@ packages: dev: true /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } + engines: { node: '>=10' } dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13468,8 +13427,9 @@ packages: dev: true /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} + resolution: + { integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== } + engines: { node: '>= 8.0.0' } peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13488,137 +13448,160 @@ packages: dev: true /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + resolution: + { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + resolution: + { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: '>=8.6' } /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } + engines: { node: '>=0.10' } hasBin: true dev: true - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } + engines: { node: '>=4' } dev: true /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } + engines: { node: '>=6' } dev: true /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } + engines: { node: '>=14.16' } dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + resolution: + { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 dev: true /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } + engines: { node: '>=4' } dev: true - /postcss-values-parser@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} + /possible-typed-array-names@1.0.0: + resolution: + { integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== } + engines: { node: '>= 0.4' } + dev: true + + /postcss-values-parser@6.0.2(postcss@8.4.38): + resolution: + { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } + engines: { node: '>=10' } peerDependencies: postcss: ^8.2.9 dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.35 + postcss: 8.4.38 quote-unquote: 1.0.0 dev: false - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} + /postcss@8.4.38: + resolution: + { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } + engines: { node: ^10 || ^12 || >=14 } dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } + engines: { node: '>=4' } dev: true /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } + engines: { node: '>=12' } dev: true /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } + engines: { node: '>=0.10.0' } dev: true /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } + engines: { node: '>= 6' } dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } + engines: { node: '>=0.10.0' } dev: true /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } + engines: { node: '>=12' } dev: true /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } + engines: { node: '>=0.10.0' } dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } + engines: { node: '>=12' } dev: true /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + resolution: + { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } + engines: { node: ^14.14.0 || >=16.0.0 } hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -13637,9 +13620,10 @@ packages: - supports-color dev: false - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} - engines: {node: '>=10'} + /preferred-pm@3.1.3: + resolution: + { integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w== } + engines: { node: '>=10' } dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -13648,23 +13632,21 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } + engines: { node: '>= 0.8.0' } dev: true /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } + engines: { node: '>=10.13.0' } hasBin: true - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - dev: true - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -13672,8 +13654,9 @@ packages: dev: false /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -13681,88 +13664,64 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } + engines: { node: '>=10' } dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } + engines: { node: '>=14.16' } dependencies: parse-ms: 3.0.0 dev: false - /proc-log@1.0.0: - resolution: {integrity: sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==} - dev: true - - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /process-es6@0.11.6: - resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} + resolution: + { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } dev: true /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } /process@0.10.1: - resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} - engines: {node: '>= 0.6.0'} + resolution: + { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } + engines: { node: '>= 0.6.0' } dev: false /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - /promise-all-reject-late@1.0.1: - resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} - dev: true - - /promise-call-limit@1.0.2: - resolution: {integrity: sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==} - dev: true - - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: true - - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: true + resolution: + { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } + engines: { node: '>= 0.6.0' } + dev: false /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } + engines: { node: '>= 6' } dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + resolution: + { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 dev: true - /protobufjs@7.2.5: - resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} - engines: {node: '>=12.0.0'} + /protobufjs@7.2.6: + resolution: + { integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw== } + engines: { node: '>=12.0.0' } requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -13775,97 +13734,116 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.29 + '@types/node': 20.11.30 long: 5.2.3 /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + resolution: + { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } dev: false /prr@0.0.0: - resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} + resolution: + { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } dev: true /prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + resolution: + { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } dev: true /ps-list@8.1.1: - resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + resolution: + { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } dev: true /public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + resolution: + { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 create-hash: 1.2.0 - parse-asn1: 5.1.6 + parse-asn1: 5.1.7 randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + resolution: + { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} + /punycode@2.3.1: + resolution: + { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } + engines: { node: '>=6' } - /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} + /qs@6.12.0: + resolution: + { integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg== } + engines: { node: '>=0.6' } dependencies: - side-channel: 1.0.4 + side-channel: 1.0.6 dev: false /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } /queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + resolution: + { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } dev: false /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } + engines: { node: '>=8' } dev: true /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } + engines: { node: '>=10' } /quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + resolution: + { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } dev: false /rambda@7.5.0: - resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} + resolution: + { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } dev: true /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + resolution: + { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + resolution: + { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true - /react-devtools-core@4.28.0: - resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} + /react-devtools-core@4.28.5: + resolution: + { integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== } dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -13875,20 +13853,24 @@ packages: dev: true /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + resolution: + { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } dev: true /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + resolution: + { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } dev: false /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + resolution: + { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } + engines: { node: '>=0.10.0' } peerDependencies: react: ^17.0.2 dependencies: @@ -13899,47 +13881,18 @@ packages: dev: true /react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } + engines: { node: '>=0.10.0' } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true - /read-cmd-shim@3.0.1: - resolution: {integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - - /read-package-json-fast@2.0.3: - resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} - engines: {node: '>=10'} - dependencies: - json-parse-even-better-errors: 2.3.1 - npm-normalize-package-bin: 1.0.1 - dev: true - - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - - /read-package-json@6.0.4: - resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - glob: 10.3.8 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -13947,8 +13900,9 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -13956,8 +13910,9 @@ packages: dev: false /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } + engines: { node: '>=4' } dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -13965,28 +13920,31 @@ packages: dev: true /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } + engines: { node: '>=8' } dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 dev: true /read-pkg@7.1.0: - resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } + engines: { node: '>=12.20' } dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 2.19.0 dev: false /read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } + engines: { node: '>=6' } dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -13995,7 +13953,8 @@ packages: dev: true /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + resolution: + { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14004,7 +13963,8 @@ packages: dev: true /readable-stream@1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + resolution: + { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14013,7 +13973,8 @@ packages: dev: true /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14024,111 +13985,106 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } + engines: { node: '>= 6' } dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: true - /readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + resolution: + { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } dependencies: minimatch: 5.1.6 dev: false - /readdir-scoped-modules@1.1.0: - resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - debuglog: 1.0.1 - dezalgo: 1.0.4 - graceful-fs: 4.2.11 - once: 1.4.0 - dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + resolution: + { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } + engines: { node: '>=8.10.0' } dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } + engines: { node: '>= 0.10' } dependencies: - resolve: 1.22.6 + resolve: 1.22.8 /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } + engines: { node: '>=8' } dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + resolution: + { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + resolution: + { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } dev: true /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } + engines: { node: '>=4' } dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + resolution: + { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: + { integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== } dev: true /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + resolution: + { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 dev: true /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + resolution: + { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } hasBin: true - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + /regexp.prototype.flags@1.5.2: + resolution: + { integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 dev: true /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } + engines: { node: '>=8' } dev: true /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } + engines: { node: '>=4' } dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14139,22 +14095,40 @@ packages: dev: true /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + resolution: + { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + resolution: + { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } hasBin: true dependencies: jsesc: 0.5.0 dev: true + /rehackt@0.0.6(react@17.0.2): + resolution: + { integrity: sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== } + peerDependencies: + '@types/react': '*' + react: '*' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + dependencies: + react: 17.0.2 + dev: true + /relaxed-json@1.0.3: - resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} - engines: {node: '>= 0.10.0'} + resolution: + { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } + engines: { node: '>= 0.10.0' } hasBin: true dependencies: chalk: 2.4.2 @@ -14162,7 +14136,8 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} + resolution: + { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14171,14 +14146,16 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} + resolution: + { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} + resolution: + { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14187,7 +14164,8 @@ packages: dev: true /remark-parse@9.0.0: - resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} + resolution: + { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14195,81 +14173,91 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + resolution: + { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + dev: false /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - - /replace-ext@1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } + engines: { node: '>=0.10' } dev: true /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } + engines: { node: '>=0.10.0' } /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } + engines: { node: '>=0.10.0' } dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } + engines: { node: '>=8.6.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: false - /require-in-the-middle@7.2.0: - resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} - engines: {node: '>=8.6.0'} + /require-in-the-middle@7.2.1: + resolution: + { integrity: sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA== } + engines: { node: '>=8.6.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolution: + { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } dev: true /require-package-name@2.0.1: - resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} + resolution: + { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } dev: false /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolution: + { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } + engines: { node: '>=4' } /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } + engines: { node: '>=8' } /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } - /resolve@1.22.6: - resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} + /resolve@1.22.8: + resolution: + { integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== } hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: + { integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== } hasBin: true dependencies: is-core-module: 2.13.1 @@ -14278,78 +14266,78 @@ packages: dev: false /response-iterator@0.2.6: - resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} - engines: {node: '>=0.8'} - dev: true - - /responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - dependencies: - lowercase-keys: 2.0.0 + resolution: + { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } + engines: { node: '>=0.8' } dev: true /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } + engines: { node: '>=14.16' } dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } + engines: { node: '>=8' } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: true - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } + engines: { node: '>= 4' } /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: + { integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== } /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } hasBin: true dependencies: glob: 7.2.3 /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } + engines: { node: '>=14' } hasBin: true dependencies: - glob: 10.3.8 + glob: 10.3.10 dev: true /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + resolution: + { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.13.0): - resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } + engines: { node: '>=6' } peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14360,39 +14348,42 @@ packages: semver: 5.7.2 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.2): - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} - engines: {node: '>=16'} + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.3): + resolution: + { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } + engines: { node: '>=16' } peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.4 + magic-string: 0.30.8 rollup: 4.13.0 - typescript: 5.4.2 + typescript: 5.4.3 optionalDependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.0): - resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} - engines: {node: '>=14.18.0'} + resolution: + { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } + engines: { node: '>=14.18.0' } peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4(supports-color@9.4.0) - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.2 esbuild: 0.20.2 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 rollup: 4.13.0 transitivePeerDependencies: - supports-color dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} + resolution: + { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14401,7 +14392,8 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} + resolution: + { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14412,33 +14404,38 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} + resolution: + { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} + resolution: + { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} + resolution: + { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + resolution: + { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } dependencies: estree-walker: 0.6.1 dev: true /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg== } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14460,110 +14457,109 @@ packages: dev: true /run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } + engines: { node: '>=18' } dev: false - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - /run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - dev: true + resolution: + { integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== } + engines: { node: '>=0.12.0' } /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + resolution: + { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } dependencies: tslib: 2.6.2 dev: true - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + /safe-array-concat@1.1.2: + resolution: + { integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== } + engines: { node: '>=0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } /safe-json-stringify@1.2.0: - resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} + resolution: + { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } dev: false - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.3: + resolution: + { integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true /safe-resolve@1.0.0: - resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} + resolution: + { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } dev: true /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } dev: true /scheduler@0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + resolution: + { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true - /scoped-regex@2.1.0: - resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} - engines: {node: '>=8'} - dev: true - /semver@2.3.2: - resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} + resolution: + { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } hasBin: true dev: true /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } hasBin: true dev: true /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } hasBin: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } + engines: { node: '>=10' } hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + resolution: + { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -14571,19 +14567,35 @@ packages: dev: true /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + resolution: + { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + /set-function-length@1.2.2: + resolution: + { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== } + engines: { node: '>= 0.4' } dependencies: - define-data-property: 1.1.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 + + /set-function-name@2.0.2: + resolution: + { integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== } + engines: { node: '>= 0.4' } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 dev: true /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + resolution: + { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } hasBin: true dependencies: inherits: 2.0.4 @@ -14591,34 +14603,40 @@ packages: dev: true /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } + engines: { node: '>=0.10.0' } dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: '>=8' } dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } + engines: { node: '>=0.10.0' } dev: true /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: '>=8' } /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + resolution: + { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } dev: true /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } + engines: { node: '>=4' } hasBin: true dependencies: glob: 7.2.3 @@ -14626,38 +14644,45 @@ packages: rechoir: 0.6.2 /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + resolution: + { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } /should-equal@2.0.0: - resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + resolution: + { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + resolution: + { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + resolution: + { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + resolution: + { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } dev: true /should-util@1.0.1: - resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + resolution: + { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } dev: true /should@13.2.3: - resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + resolution: + { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -14667,64 +14692,60 @@ packages: dev: true /shx@0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } + engines: { node: '>=6' } hasBin: true dependencies: minimist: 1.2.8 shelljs: 0.8.5 dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.6: + resolution: + { integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + resolution: + { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } dev: true /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } + engines: { node: '>=14' } dev: false /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /sigstore@1.9.0: - resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - '@sigstore/bundle': 1.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 1.0.0 - '@sigstore/tuf': 1.0.3 - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true + resolution: + { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } + engines: { node: '>=14' } /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + resolution: + { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + resolution: + { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } dev: false - /size-limit@11.1.1: - resolution: {integrity: sha512-0d06gwp+hBuhNQyAyewalfMLhGCnjt15MyDxqouzxN4+85vjAUdRKSNuR1kcyxaS9Ml98q120U0PgRPocPJWiw==} - engines: {node: ^18.0.0 || >=20.0.0} + /size-limit@11.1.2: + resolution: + { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true dependencies: bytes-iec: 3.1.1 @@ -14737,21 +14758,25 @@ packages: dev: true /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } + engines: { node: '>=8' } /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } + engines: { node: '>=12' } /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } + engines: { node: '>=14.16' } dev: true /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -14759,37 +14784,36 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } + engines: { node: '>=18' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true - /smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } + engines: { node: '>=6' } hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -14801,55 +14825,21 @@ packages: dev: true /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + resolution: + { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true - /socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - - /socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: true - - /sort-keys@4.2.0: - resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} - engines: {node: '>=8'} - dependencies: - is-plain-obj: 2.1.0 - dev: true - /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + resolution: + { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } dev: true /sort-package-json@2.8.0: - resolution: {integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g==} + resolution: + { integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g== } hasBin: true dependencies: detect-indent: 7.0.1 @@ -14861,304 +14851,313 @@ packages: sort-object-keys: 1.1.3 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: + { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } + engines: { node: '>=0.10.0' } /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } + engines: { node: '>=0.10.0' } requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + resolution: + { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + resolution: + { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.15 + spdx-license-ids: 3.0.17 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: + { integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== } /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.15 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 - /spdx-license-ids@3.0.15: - resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} + /spdx-license-ids@3.0.17: + resolution: + { integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== } /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} + resolution: + { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } + engines: { node: '>= 10.x' } dev: true /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: true - - /ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 - dev: true + resolution: + { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } /stack-generator@2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + resolution: + { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } + engines: { node: '>=10' } dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + resolution: + { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } dev: true /stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + resolution: + { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } dev: false /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } + engines: { node: '>= 0.8' } dev: true - /std-env@3.6.0: - resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + /std-env@3.7.0: + resolution: + { integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== } dev: true /stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + resolution: + { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } dependencies: - mixme: 0.5.9 + mixme: 0.5.10 dev: true - /streamx@2.15.1: - resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + /streamx@2.16.1: + resolution: + { integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== } dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.2 dev: false /strict-event-emitter@0.5.1: - resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + resolution: + { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } dev: true /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} + resolution: + { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } + engines: { node: '>=0.6.19' } dev: true /string-range@1.2.2: - resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} + resolution: + { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } dev: true /string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} + resolution: + { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } dev: false /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: '>=8' } dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: '>=12' } dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string-width@7.0.0: - resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} - engines: {node: '>=18'} + /string-width@7.1.0: + resolution: + { integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== } + engines: { node: '>=18' } dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + /string.prototype.trim@1.2.9: + resolution: + { integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.8: + resolution: + { integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: + { integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + resolution: + { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } dev: true /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: '>=8' } dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: '>=12' } dependencies: ansi-regex: 6.0.1 - /strip-bom-buf@1.0.0: - resolution: {integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==} - engines: {node: '>=4'} - dependencies: - is-utf8: 0.2.1 - dev: true - - /strip-bom-stream@2.0.0: - resolution: {integrity: sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==} - engines: {node: '>=0.10.0'} - dependencies: - first-chunk-stream: 2.0.0 - strip-bom: 2.0.0 - dev: true - - /strip-bom@2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } + engines: { node: '>=4' } dev: true /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } + engines: { node: '>=6' } + dev: false /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } + engines: { node: '>=12' } /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } + engines: { node: '>=8' } dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } + engines: { node: '>=8' } dev: true /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + resolution: + { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + resolution: + { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } dev: true /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } + engines: { node: '>=10' } dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } + engines: { node: '>=12' } /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: '>= 0.4' } /swagger2openapi@7.0.8: - resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + resolution: + { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15177,18 +15176,21 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } + engines: { node: '>=0.10' } dev: true /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } + engines: { node: '>=6' } dev: true /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } + engines: { node: '>=6' } dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15197,17 +15199,19 @@ packages: readable-stream: 3.6.2 dev: false - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + /tar-stream@3.1.7: + resolution: + { integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== } dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.1 + streamx: 2.16.1 dev: false - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} + /tar@6.2.1: + resolution: + { integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== } + engines: { node: '>=10' } dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15215,156 +15219,170 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 + dev: false /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } + engines: { node: '>=8' } dev: true /terminal-link@3.0.0: - resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } + engines: { node: '>=12' } dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - /textextensions@5.16.0: - resolution: {integrity: sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==} - engines: {node: '>=0.8'} - dev: true + resolution: + { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + resolution: + { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } + engines: { node: '>=0.8' } dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + resolution: + { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} - engines: {node: '>= 0.10.x'} + resolution: + { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } + engines: { node: '>= 0.10.x' } hasBin: true dependencies: - bufrw: 1.3.0 + bufrw: 1.4.0 error: 7.0.2 long: 2.4.0 dev: false - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /time-span@4.0.0: - resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } + engines: { node: '>=10' } dependencies: convert-hrtime: 3.0.0 dev: false - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + /tinybench@2.6.0: + resolution: + { integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA== } dev: true /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== } + engines: { node: '>=14.0.0' } dev: true - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} + /tinyspy@2.2.1: + resolution: + { integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== } + engines: { node: '>=14.0.0' } dev: true /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + resolution: + { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + resolution: + { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } + engines: { node: '>=0.6.0' } dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} + resolution: + { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } + engines: { node: '>=14.14' } dev: false /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } + engines: { node: '>=4' } /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: '>=8.0' } dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + resolution: + { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } dev: false /tomlify-j0.4@3.0.0: - resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} + resolution: + { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } dev: false /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + resolution: + { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } - /traverse@0.6.7: - resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} - dev: true - - /treeverse@1.0.4: - resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} + /traverse@0.6.8: + resolution: + { integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== } + engines: { node: '>= 0.4' } dev: true /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } + engines: { node: '>=8' } dev: true /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + resolution: + { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } dev: true - /ts-api-utils@1.0.3(typescript@5.4.2): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.3.0(typescript@5.4.3): + resolution: + { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } + engines: { node: '>=16' } peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.2 + typescript: 5.4.3 dev: true /ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} + resolution: + { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 - /ts-node@10.9.2(@types/node@20.11.29)(typescript@5.4.2): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + /ts-node@10.9.2(@types/node@20.11.30)(typescript@5.4.3): + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15382,19 +15400,20 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.29 - acorn: 8.10.0 - acorn-walk: 8.2.0 + '@types/node': 20.11.30 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.2 + typescript: 5.4.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + resolution: + { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15403,14 +15422,17 @@ packages: dev: true /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + resolution: + { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } /tsutils@3.21.0(typescript@4.8.2): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15418,30 +15440,33 @@ packages: typescript: 4.8.2 dev: true - /tsutils@3.21.0(typescript@5.4.2): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + /tsutils@3.21.0(typescript@5.4.3): + resolution: + { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.2 + typescript: 5.4.3 dev: false /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g== } + engines: { node: '>=18.0.0' } hasBin: true dependencies: - esbuild: 0.19.11 - get-tsconfig: 4.7.2 + esbuild: 0.19.12 + get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 dev: true - /tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} - engines: {node: '>=8.0.0'} + /tty-table@4.2.3: + resolution: + { integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA== } + engines: { node: '>=8.0.0' } hasBin: true dependencies: chalk: 4.1.2 @@ -15453,262 +15478,290 @@ packages: yargs: 17.7.2 dev: true - /tuf-js@1.1.7: - resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@tufjs/models': 1.0.4 - debug: 4.3.4(supports-color@9.4.0) - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + resolution: + { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } dependencies: safe-buffer: 5.2.1 dev: true - /turbo-darwin-64@1.12.5: - resolution: {integrity: sha512-0GZ8reftwNQgIQLHkHjHEXTc/Z1NJm+YjsrBP+qhM/7yIZ3TEy9gJhuogDt2U0xIWwFgisTyzbtU7xNaQydtoA==} + /turbo-darwin-64@1.13.0: + resolution: + { integrity: sha512-ctHeJXtQgBcgxnCXwrJTGiq57HtwF7zWz5NTuSv//5yeU01BtQIt62ArKfjudOhRefWJbX3Z5srn88XTb9hfww== } cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.12.5: - resolution: {integrity: sha512-8WpOLNNzvH6kohQOjihD+gaWL+ZFNfjvBwhOF0rjEzvW+YR3Pa7KjhulrjWyeN2yMFqAPubTbZIGOz1EVXLuQA==} + /turbo-darwin-arm64@1.13.0: + resolution: + { integrity: sha512-/Q9/pNFkF9w83tNxwMpgapwLYdQ12p8mpty2YQRoUiS9ClWkcqe136jR0mtuMqzlNlpREOFZaoyIthjt6Sdo0g== } cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.12.5: - resolution: {integrity: sha512-INit73+bNUpwqGZCxgXCR3I+cQsdkQ3/LkfkgSOibkpg+oGqxJRzeXw3sp990d7SCoE8QOcs3iw+PtiFX/LDAA==} + /turbo-linux-64@1.13.0: + resolution: + { integrity: sha512-hgbT7o020BGV4L7Sd8hhFTd5zVKPKxbsr0dPfel/9NkdTmptz2aGZ0Vb2MAa18SY3XaCQpDxmdYuOzvvRpo5ZA== } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.12.5: - resolution: {integrity: sha512-6lkRBvxtI/GQdGtaAec9LvVQUoRw6nXFp0kM+Eu+5PbZqq7yn6cMkgDJLI08zdeui36yXhone8XGI8pHg8bpUQ==} + /turbo-linux-arm64@1.13.0: + resolution: + { integrity: sha512-WK01i2wDZARrV+HEs495A3hNeGMwQR5suYk7G+ceqqW7b+dOTlQdvUjnI3sg7wAnZPgjafFs/hoBaZdJjVa/nw== } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.12.5: - resolution: {integrity: sha512-gQYbOhZg5Ww0bQ/bC0w/4W6yQRwBumUUnkB+QPo15VznwxZe2a7bo6JM+9Xy9dKLa/kn+p7zTqme4OEp6M3/Yg==} + /turbo-windows-64@1.13.0: + resolution: + { integrity: sha512-hJgSZJZwlWHNwLEthaqJqJWGm4NqF5X/I7vE0sPE4i/jeDl8f0n1hcOkgJkJiNXVxhj+qy/9+4dzbPLKT9imaQ== } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.12.5: - resolution: {integrity: sha512-auvhZ9FrhnvQ4mgBlY9O68MT4dIfprYGvd2uPICba/mHUZZvVy5SGgbHJ0KbMwaJfnnFoPgLJO6M+3N2gDprKw==} + /turbo-windows-arm64@1.13.0: + resolution: + { integrity: sha512-L/ErxYoXeq8tmjU/AIGicC9VyBN1zdYw8JlM4yPmMI0pJdY8E4GaYK1IiIazqq7M72lmQhU/WW7fV9FqEktwrw== } cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.12.5: - resolution: {integrity: sha512-FATU5EnhrYG8RvQJYFJnDd18DpccDjyvd53hggw9T9JEg9BhWtIEoeaKtBjYbpXwOVrJQMDdXcIB4f2nD3QPPg==} + /turbo@1.13.0: + resolution: + { integrity: sha512-r02GtNmkOPcQvUzVE6lg474QVLyU02r3yh3lUGqrFHf5h5ZEjgDGWILsAUqplVqjri1Y/oOkTssks4CObTAaiw== } hasBin: true optionalDependencies: - turbo-darwin-64: 1.12.5 - turbo-darwin-arm64: 1.12.5 - turbo-linux-64: 1.12.5 - turbo-linux-arm64: 1.12.5 - turbo-windows-64: 1.12.5 - turbo-windows-arm64: 1.12.5 + turbo-darwin-64: 1.13.0 + turbo-darwin-arm64: 1.13.0 + turbo-linux-64: 1.13.0 + turbo-linux-arm64: 1.13.0 + turbo-windows-64: 1.13.0 + turbo-windows-arm64: 1.13.0 dev: true /typanion@3.14.0: - resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} + resolution: + { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } dev: true /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } + engines: { node: '>=4' } dev: true /type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } + engines: { node: '>=10' } dev: true /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } + engines: { node: '>=10' } dev: true /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } + engines: { node: '>=10' } dev: true /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } + engines: { node: '>=10' } /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } + engines: { node: '>=8' } dev: true /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } + engines: { node: '>=8' } dev: true /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } + engines: { node: '>=10' } dev: false /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } + engines: { node: '>=12.20' } dev: false /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } + engines: { node: '>=14.16' } - /type-fest@4.9.0: - resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} - engines: {node: '>=16'} + /type-fest@4.13.1: + resolution: + { integrity: sha512-ASMgM+Vf2cLwDMt1KXSkMUDSYCxtckDJs8zsaVF/mYteIsiARKCVtyXtcK38mIKbLTctZP8v6GMqdNaeI3fo7g== } + engines: { node: '>=16' } dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + /typed-array-buffer@1.0.2: + resolution: + { integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + /typed-array-byte-length@1.0.1: + resolution: + { integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + /typed-array-byte-offset@1.0.2: + resolution: + { integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== } + engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length@1.0.6: + resolution: + { integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 dev: true /typedarray-to-buffer@1.0.4: - resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} + resolution: + { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } dev: true /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + resolution: + { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } dev: true /typescript@4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} - engines: {node: '>=4.2.0'} + resolution: + { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } + engines: { node: '>=4.2.0' } hasBin: true dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} + /typescript@5.4.3: + resolution: + { integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== } + engines: { node: '>=14.17' } hasBin: true - dev: false - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - - /ufo@1.3.0: - resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + /ufo@1.5.3: + resolution: + { integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== } dev: true /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + resolution: + { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + resolution: + { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } dev: true /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + resolution: + { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } + engines: { node: '>=4' } dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } + engines: { node: '>=4' } dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } + engines: { node: '>=4' } dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } + engines: { node: '>=4' } dev: true /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } + engines: { node: '>=18' } dev: true /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + resolution: + { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 bail: 1.0.5 extend: 3.0.2 is-buffer: 2.0.5 @@ -15717,223 +15770,168 @@ packages: vfile: 4.2.1 dev: true - /unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - dependencies: - unique-slug: 2.0.2 - dev: true - - /unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - unique-slug: 3.0.0 - dev: true - - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - unique-slug: 4.0.0 - dev: true - - /unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - dependencies: - imurmurhash: 0.1.4 - dev: true - - /unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + resolution: + { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } dev: true /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + resolution: + { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 dev: true /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + resolution: + { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 dev: true - /universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} - dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } + engines: { node: '>= 4.0.0' } dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + /universalify@2.0.1: + resolution: + { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } + engines: { node: '>= 10.0.0' } dev: true /unix-dgram@2.0.6: - resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} - engines: {node: '>=0.10.48'} + resolution: + { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } + engines: { node: '>=0.10.48' } requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.18.0 + nan: 2.19.0 dev: false optional: true /unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } + engines: { node: '>=0.10.0' } dependencies: normalize-path: 2.1.1 dev: false - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: + { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 /update-section@0.3.3: - resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} + resolution: + { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } dev: true /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + resolution: + { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + resolution: + { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + resolution: + { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } dev: false /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + resolution: + { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } hasBin: true /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + resolution: + { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } hasBin: true dev: false /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + resolution: + { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - /validate-npm-package-name@3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} - dependencies: - builtins: 1.0.3 - dev: true - /validate-npm-package-name@4.0.0: - resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + resolution: + { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + resolution: + { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 dev: true - /vinyl-file@3.0.0: - resolution: {integrity: sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - strip-bom-buf: 1.0.0 - strip-bom-stream: 2.0.0 - vinyl: 2.2.1 - dev: true - - /vinyl@2.2.1: - resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} - engines: {node: '>= 0.10'} - dependencies: - clone: 2.1.2 - clone-buffer: 1.0.0 - clone-stats: 1.0.0 - cloneable-readable: 1.1.3 - remove-trailing-separator: 1.1.0 - replace-ext: 1.0.1 - dev: true - - /vite-node@1.4.0(@types/node@20.11.29): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} + /vite-node@1.4.0(@types/node@20.11.30): + resolution: + { integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@9.4.0) - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.29) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -15945,9 +15943,10 @@ packages: - terser dev: true - /vite@5.1.6(@types/node@20.11.29): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} - engines: {node: ^18.0.0 || >=20.0.0} + /vite@5.2.2(@types/node@20.11.30): + resolution: + { integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -15973,17 +15972,18 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.29 - esbuild: 0.19.11 - postcss: 8.4.35 + '@types/node': 20.11.30 + esbuild: 0.20.2 + postcss: 8.4.38 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.29): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} + /vitest@1.4.0(@types/node@20.11.30): + resolution: + { integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16006,26 +16006,26 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 '@vitest/spy': 1.4.0 '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 - chai: 4.3.10 + chai: 4.4.1 debug: 4.3.4(supports-color@9.4.0) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 picocolors: 1.0.0 - std-env: 3.6.0 + std-env: 3.7.0 strip-literal: 2.0.0 - tinybench: 2.5.1 + tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.29) - vite-node: 1.4.0(@types/node@20.11.29) + vite: 5.2.2(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -16038,35 +16038,37 @@ packages: dev: true /vlq@0.2.3: - resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} - dev: true - - /walk-up-path@1.0.0: - resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} + resolution: + { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } dev: true /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + resolution: + { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } dependencies: defaults: 1.0.4 dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} + /web-streams-polyfill@3.3.3: + resolution: + { integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== } + engines: { node: '>= 8' } dev: false /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + resolution: + { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + resolution: + { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + resolution: + { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16076,61 +16078,60 @@ packages: dev: true /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + resolution: + { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } dev: true /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} + resolution: + { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } + engines: { node: '>=8.15' } dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} + /which-typed-array@1.1.15: + resolution: + { integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== } + engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + resolution: + { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: '>= 8' } hasBin: true dependencies: isexe: 2.0.0 - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } + engines: { node: ^16.13.0 || >=18.0.0 } hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } + engines: { node: '>=8' } hasBin: true dependencies: siginfo: 2.0.0 @@ -16138,46 +16139,53 @@ packages: dev: true /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + resolution: + { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } dependencies: string-width: 4.2.3 + dev: false /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } + engines: { node: '>=8' } dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + resolution: + { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16185,28 +16193,23 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } + engines: { node: '>=18' } dependencies: ansi-styles: 6.2.1 - string-width: 7.0.0 + string-width: 7.1.0 strip-ansi: 7.1.0 dev: true /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true + resolution: + { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} + resolution: + { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } + engines: { node: '>=8.3.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16218,86 +16221,103 @@ packages: dev: true /xorshift@1.2.0: - resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} + resolution: + { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } dev: false /xtend@2.0.6: - resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } + engines: { node: '>=0.4' } dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } + engines: { node: '>=0.4' } dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } + engines: { node: '>=0.4' } dev: true /xtend@3.0.0: - resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } + engines: { node: '>=0.4' } dev: true /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } + engines: { node: '>=0.4' } /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + resolution: + { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } dev: true /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } + engines: { node: '>=10' } /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + resolution: + { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } dev: true /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } + engines: { node: '>= 6' } dev: true /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } + engines: { node: '>= 14' } dev: true /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } + engines: { node: '>=6' } dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } + engines: { node: '>=10' } dev: true /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } + engines: { node: '>=12' } /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } + engines: { node: '>=8' } dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16313,11 +16333,12 @@ packages: dev: true /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } + engines: { node: '>=10' } dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -16326,153 +16347,85 @@ packages: dev: true /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } + engines: { node: '>=12' } dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - /yarn@1.22.21: - resolution: {integrity: sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg==} - engines: {node: '>=4.0.0'} + /yarn@1.22.22: + resolution: + { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } + engines: { node: '>=4.0.0' } hasBin: true requiresBuild: true dev: false - /yeoman-environment@3.19.3: - resolution: {integrity: sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==} - engines: {node: '>=12.10.0'} - hasBin: true - dependencies: - '@npmcli/arborist': 4.3.1 - are-we-there-yet: 2.0.0 - arrify: 2.0.1 - binaryextensions: 4.18.0 - chalk: 4.1.2 - cli-table: 0.3.11 - commander: 7.1.0 - dateformat: 4.6.3 - debug: 4.3.4(supports-color@9.4.0) - diff: 5.1.0 - error: 10.4.0 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - find-up: 5.0.0 - globby: 11.1.0 - grouped-queue: 2.0.0 - inquirer: 8.2.6 - is-scoped: 2.1.0 - isbinaryfile: 4.0.10 - lodash: 4.17.21 - log-symbols: 4.1.0 - mem-fs: 2.3.0 - mem-fs-editor: 9.7.0(mem-fs@2.3.0) - minimatch: 3.1.2 - npmlog: 5.0.1 - p-queue: 6.6.2 - p-transform: 1.3.0 - pacote: 12.0.3 - preferred-pm: 3.1.2 - pretty-bytes: 5.6.0 - readable-stream: 4.4.2 - semver: 7.6.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - text-table: 0.2.0 - textextensions: 5.16.0 - untildify: 4.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /yeoman-generator@5.9.0(yeoman-environment@3.19.3): - resolution: {integrity: sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw==} - engines: {node: '>=12.10.0'} - peerDependencies: - yeoman-environment: ^3.2.0 - peerDependenciesMeta: - yeoman-environment: - optional: true - dependencies: - chalk: 4.1.2 - dargs: 7.0.0 - debug: 4.3.4(supports-color@9.4.0) - execa: 5.1.1 - github-username: 6.0.0 - lodash: 4.17.21 - mem-fs-editor: 9.7.0(mem-fs@2.3.0) - minimist: 1.2.8 - pacote: 15.2.0 - read-pkg-up: 7.0.1 - run-async: 2.4.1 - semver: 7.6.0 - shelljs: 0.8.5 - sort-keys: 4.2.0 - text-table: 0.2.0 - yeoman-environment: 3.19.3 - transitivePeerDependencies: - - bluebird - - encoding - - mem-fs - - supports-color - dev: true - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } + engines: { node: '>=6' } /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } + engines: { node: '>=10' } dev: true /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } + engines: { node: '>=12.20' } /yoga-layout-prebuilt@1.10.0: - resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } + engines: { node: '>=8' } dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} + resolution: + { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + resolution: + { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } dev: true /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } + engines: { node: '>= 10' } dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 readable-stream: 3.6.2 dev: false - /zip-stream@5.0.1: - resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} - engines: {node: '>= 12.0.0'} + /zip-stream@5.0.2: + resolution: + { integrity: sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g== } + engines: { node: '>= 12.0.0' } dependencies: archiver-utils: 4.0.1 - compress-commons: 5.0.1 + compress-commons: 5.0.3 readable-stream: 3.6.2 dev: false /zod-to-json-schema@3.22.4(zod@3.22.4): - resolution: {integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ==} + resolution: + { integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ== } peerDependencies: zod: ^3.22.4 dependencies: @@ -16480,8 +16433,10 @@ packages: dev: false /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + resolution: + { integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== } /zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + resolution: + { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } dev: true From 6e3484c2f1667183ba0a5ab6fd3c293a8c783b69 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 011/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- cli/package.json | 5 +- cli/src/commands/schema/edit.ts | 938 +- cli/src/migrations/pgroll.ts | 2 +- packages/importer/src/random-data.ts | 85 +- pnpm-lock.yaml | 12241 +++++++++++++------------ 5 files changed, 6366 insertions(+), 6905 deletions(-) diff --git a/cli/package.json b/cli/package.json index 9bd7f8ee9..d33fe2c3c 100644 --- a/cli/package.json +++ b/cli/package.json @@ -19,11 +19,13 @@ "/oclif.manifest.json" ], "dependencies": { + "@inquirer/prompts": "^4.3.0", "@oclif/core": "^3.25.2", "@oclif/plugin-help": "^6.0.18", "@oclif/plugin-not-found": "^3.0.14", "@oclif/plugin-plugins": "^4.3.7", "@types/ini": "^4.1.0", + "@types/inquirer": "^9.0.7", "@types/prompts": "^2.4.9", "@types/semver": "^7.5.8", "@xata.io/client": "workspace:*", @@ -40,6 +42,7 @@ "enquirer": "^2.4.1", "env-editor": "^1.1.0", "ini": "^4.1.2", + "inquirer": "^9.2.16", "lodash.compact": "^3.0.1", "lodash.get": "^4.4.2", "lodash.set": "^4.3.2", @@ -49,8 +52,8 @@ "relaxed-json": "^1.0.3", "semver": "^7.6.0", "text-table": "^0.2.0", - "tslib": "^2.6.2", "tmp": "^0.2.3", + "tslib": "^2.6.2", "which": "^4.0.0", "zod": "^3.22.4" }, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 3d2ef7277..e8b7e91ed 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,107 +1,125 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ +// import { Flags } from "@oclif/core"; +// import { BaseCommand } from "../../base"; +import { BaseCommand } from '../../base.js'; +// import schemas from "@xata.io/pgroll" import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; -import { parseSchemaFile } from '@xata.io/codegen'; -import { isValidEmail } from '@xata.io/importer'; +import { PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; -import { getEditor } from 'env-editor'; -import { readFile, writeFile } from 'fs/promises'; -import tmp from 'tmp'; -import which from 'which'; -import { BaseCommand } from '../../base.js'; -import { getBranchDetailsWithPgRoll } from '../../migrations/pgroll.js'; -import { isNil, reportBugURL } from '../../utils.js'; -import Codegen from '../codegen/index.js'; -import Pull from '../pull/index.js'; +// Add table +// Rename table +// Delete table +// Add column +// Edit column +// Delete column + +const currentMigration: PgRollMigration = { operations: [] }; -// The enquirer library has type definitions but they are very poor const { Select, Snippet, Confirm } = enquirer as any; -type Schema = Schemas.Schema; -type Table = Schema['tables'][0]; -type Column = Table['columns'][0]; +type BranchSchema = Schemas.BranchSchema -type EditableColumn = Column & { - added?: boolean; - deleted?: boolean; - initialName?: string; - description?: string; -}; +type TableAdd = { + name: string; + columns: ColumnAdd[]; +} -type EditableTable = Table & { - added?: string; - deleted?: boolean; - initialName?: string; - columns: EditableColumn[]; -}; +type TableEdit = { + name: string; +} -type ColumnEditState = { - initial: { - name: string; - type: string; - link: string | undefined; - vectorDimension: string | undefined; - notNull: string; - defaultValue: string; - unique: string; - description: string | undefined; - }; - values: { - name?: string; - type?: string; - link?: string; - vectorDimension?: string; - notNull?: string; - defaultValue?: string; - unique?: string; - description?: string; - }; -}; +type ColumnEdit = { + name: string; + unique: boolean; + nullable: boolean; +} + +type ColumnAdd = { + name: string; + type: string; + unique: boolean; + nullable: boolean; + default?: string; + vectorDimension?: string + link?: string +} const types = ['string', 'int', 'float', 'bool', 'text', 'multiple', 'link', 'email', 'datetime', 'vector', 'json']; const typesList = types.join(', '); -const identifier = /^[a-zA-Z0-9-_~]+$/; - const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; const notNullUnsupportedTypes = defaultValueUnsupportedTypes; -const waitFlags: Record = { - code: '-w', - 'code-insiders': '-w', - vscodium: '-w', - sublime: '-w', - textmate: '-w', - atom: '--wait', - webstorm: '--wait', - intellij: '--wait', - xcode: '-w' -}; - type SelectChoice = { name: + | { + type: 'space' | 'add-table' | 'edit-table' | 'add-column' | 'edit-column'; + } | { - type: 'space' | 'schema' | 'add-table' | 'migrate'; - } - | { - type: 'add-column' | 'edit-table'; - table: EditableTable; - } + type: 'add-table'; + table: TableAdd + } + | { + type: 'add-column'; + table: TableEdit; + } | { - type: 'edit-column'; - table: EditableTable; - column: EditableColumn; - }; + type: 'edit-table'; + table: TableEdit; + } + | { + type: 'edit-column'; + column: ColumnEdit; + }; message: string; role?: string; choices?: SelectChoice[]; disabled?: boolean; hint?: string; -}; +} + +// Delete will be backspace + +const createSpace = (): SelectChoice => { + return { name: { type: 'space' }, message: ' ', role: 'heading' }; +} + +const createColumnChoices = (): SelectChoice[] => { + // TODO all the tables columns + return [{ + name: { type: 'edit-column', column: { + name: 'fakecolumn', + unique: false, + nullable: true + }}, + message: `- ${chalk.cyan("Fake Column Name 1")}`, + hint: 'Edit a column in a table' + }, + // Always an extra add column + { + name: { type: 'add-column' }, + message: `${chalk.green('+')} Add a column`, + hint: 'Add a column to a table' + }] +} + + +const tableChoices: SelectChoice[] = [createSpace(), { + name: { type: 'edit-table', table: {name: 'faketable'}}, + message: `• ${chalk.bold("Fake Table Name")}`, + choices: createColumnChoices() +}, createSpace(), { + name: { type: 'edit-table', table: {name: 'faketable2'}}, + message: `• ${chalk.bold("Fake Table Name2")}`, + choices: createColumnChoices() +}, createSpace(), { + message: `${chalk.green('+')} Add a table`, + name: { type: 'add-table', table: {columns: [], name: 'faketable'}}, +},] export default class EditSchema extends BaseCommand { - static description = 'Edit the schema of the current database'; + static description = 'Edit the schema'; static examples = []; @@ -109,778 +127,110 @@ export default class EditSchema extends BaseCommand { ...this.databaseURLFlag, branch: this.branchFlag, source: Flags.boolean({ - description: 'Edit the schema as a JSON document in your default editor' + description: 'Edit a migration as a JSON document in your default editor' }) }; static args = {}; branchDetails: Schemas.DBBranch | undefined; - tables: EditableTable[] = []; workspace!: string; region!: string; database!: string; branch!: string; - selectItem: EditableColumn | EditableTable | null = null; + tableAdditions: TableAdd[] = []; + tableEdits: TableEdit[] = []; + columnAdditions: ColumnAdd[] = []; + columnEdits: ColumnEdit[] = []; - async run(): Promise { + async run(): Promise { const { flags } = await this.parseCommand(); - if (flags.source) { - this.warn( - `This way of editing the schema doesn't detect renames of tables or columns. They are interpreted as deleting/adding tables and columns. -Beware that this can lead to ${chalk.bold( - 'data loss' - )}. Other ways of editing the schema that do not have this limitation are: -* run the command without ${chalk.bold('--source')} -* edit the schema in the Web UI. Use ${chalk.bold('xata browse')} to open the Web UI in your browser.` - ); - this.log(); - } - - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch(flags.db, flags.branch); - this.workspace = workspace; - this.region = region; - this.database = database; - this.branch = branch; - - const xata = await this.getXataClient(); - const branchDetails = await getBranchDetailsWithPgRoll(xata, { workspace, region, database, branch }); - if (!branchDetails) this.error('Could not get the schema from the current branch'); - - if (flags.source) { - await this.showSourceEditing(branchDetails); - } else { - await this.showInteractiveEditing(branchDetails); - } + const operations: PgRollMigration["operations"][number][] = [] + + await this.showSchemaEdit() } - async showSourceEditing(branchDetails: Schemas.DBBranch) { - const env = process.env.EDITOR || process.env.VISUAL; - if (!env) { - this.error( - `Could not find an editor. Please set the environment variable ${chalk.bold('EDITOR')} or ${chalk.bold( - 'VISUAL' - )}` - ); - } - - const info = await getEditor(env); - // This honors the env value. For `code-insiders` for example, we don't want `code` to be used instead. - const binary = which.sync(env, { nothrow: true }) ? env : info.binary; - - const tmpobj = tmp.fileSync({ prefix: 'schema-', postfix: 'source.json' }); - // TODO: add a $schema to the document to allow autocomplete in editors such as vscode - await writeFile(tmpobj.name, JSON.stringify(branchDetails.schema, null, 2)); - - const waitFlag = waitFlags[info.id] || waitFlags[env]; - - if (!info.isTerminalEditor && !waitFlag) { - this.error(`The editor ${chalk.bold(env)} is a graphical editor that is not supported.`, { - suggestions: [ - `Set the ${chalk.bold('EDITOR')} or ${chalk.bold('VISUAL')} variables to a different editor`, - `Open an issue at ${reportBugURL(`Support \`${info.binary}\` editor for schema editing`)}` - ] - }); - } - - const args = [waitFlag, tmpobj.name].filter(Boolean); - await this.runCommand(binary, args); - - const newSchema = await readFile(tmpobj.name, 'utf8'); - const result = parseSchemaFile(newSchema); - if (!result.success) { - this.printZodError(result.error); - this.error('The schema is not valid. See the errors above'); - } - - await this.deploySchema(this.workspace, this.region, this.database, this.branch, result.data); - - // Run pull to retrieve remote migrations - await Pull.run([this.branch]); + clear() { + process.stdout.write('\x1b[2J'); + process.stdout.write('\x1b[0f'); } - async showInteractiveEditing(branchDetails: Schemas.DBBranch) { - this.branchDetails = branchDetails; - this.tables = this.branchDetails.schema.tables; - await this.showSchema(); + footer() { + return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; } - - async showSchema() { - this.clear(); - - const choices: SelectChoice[] = [ - this.createSpace() // empty space - ]; - const flatChoices = [...choices]; - - const tableChoices: SelectChoice[] = []; - const schema: SelectChoice = { - name: { type: 'schema' }, - message: 'Tables', - role: 'heading', - choices: tableChoices - }; - choices.push(schema); - flatChoices.push(schema); - - let index = 0; - for (const table of this.tables) { - const columnChoices: SelectChoice[] = table.columns.map((column, i) => { - if (this.selectItem === column) index = flatChoices.length + i + 1; - return { - name: { type: 'edit-column', column, table }, - message: this.getMessageForColumn(table, column) - }; - }); - columnChoices.push({ - message: `${chalk.green('+')} Add a column`, - name: { type: 'add-column', table }, - disabled: table.deleted - }); - const tableChoice: SelectChoice = { - name: { type: 'edit-table', table }, - message: this.getMessageForTable(table), - choices: columnChoices - }; - tableChoices.push(tableChoice); - if (this.selectItem === table) index = flatChoices.length; - flatChoices.push(tableChoice); - flatChoices.push(...columnChoices); - tableChoices.push(this.createSpace()); - flatChoices.push(this.createSpace()); + tableNameField = { + name: 'name', + message: 'The table name', + validate(value: string, state: unknown, item: unknown, index: number) { + return true } + } - choices.push({ message: `${chalk.green('+')} Add a table`, name: { type: 'add-table' } }); - choices.push(this.createSpace()); - - const overview = this.getOverview(); - choices.push({ - message: `${chalk.green('►')} Run migration${overview ? ':' : ''}`, - name: { type: 'migrate' }, - disabled: !overview, - hint: overview || 'No changes made so far' - }); - choices.push(this.createSpace()); + async showSchemaEdit() { const select = new Select({ message: 'Schema for database test:main', - initial: index, - choices, + choices: tableChoices, footer: 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' }); + select.on('keypress', async (char: string, key: { name: string; action: string }) => { - const flatChoice = flatChoices[select.state.index]; + const flatChoice = tableChoices[select.state.index]; try { - if (key.name === 'backspace' || key.name === 'delete') { - if (!flatChoice) return; // add table is not here for example - const choice = flatChoice.name; - if (typeof choice !== 'object') return; - + const choice = flatChoice.name; if (choice.type === 'edit-table') { await select.cancel(); - await this.deleteTable(choice.table); - } else if (choice.type === 'edit-column' && !choice.table.deleted) { - await select.cancel(); - await this.deleteColumn(choice.column, choice.table); - } - } - } catch (err) { - if (err) throw err; - this.clear(); - } + await this.showTableEdit(); + } + } catch (error) {} }); - + try { const result = await select.run(); - - if (result.type === 'edit-column') { - await this.showColumnEdit(result.column, result.table); + if (result.type === 'add-table') { } else if (result.type === 'edit-table') { - await this.showTableEdit(result.table); - } else if (result.type === 'add-column') { - await this.showColumnEdit(null, result.table); - } else if (result.type === 'add-table') { - await this.showTableEdit(null); - } else if (result.type === 'delete-table') { - await this.deleteTable(result.table); - } else if (result.type === 'migrate') { - await this.migrate(); - await Codegen.runIfConfigured(this.projectConfig); - process.exit(0); - } - } catch (err) { - if (err) throw err; - // if not, user cancelled - } - - this.clear(); - } - - createSpace(): SelectChoice { - return { name: { type: 'space' }, message: ' ', role: 'heading' }; - } - - getMessageForTable(table: EditableTable) { - if (table.deleted) return `• ${chalk.red.strikethrough(table.name)}`; - if (table.added) return `• ${chalk.green(table.name)}`; - if (table.initialName) return `• ${chalk.bold(table.name)} ${chalk.yellow.strikethrough(table.initialName)}`; - return `• ${chalk.bold(table.name)}`; - } - - getMessageForColumn(table: EditableTable, column: EditableColumn) { - const linkedTable = this.tables.find((t) => (t.initialName || t.name) === column.link?.table); - function getType() { - if (!linkedTable) return chalk.gray.italic(column.type); - return `${chalk.gray.italic(column.type)} → ${chalk.gray.italic(linkedTable.name)}`; + await this.showTableEdit(); + } + } catch (error) { + } - const metadata = [ - getType(), - column.unique ? chalk.gray.italic('unique') : '', - column.notNull ? chalk.gray.italic('not null') : '', - column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' - ] - .filter(Boolean) - .join(' '); - if (table.deleted || column.deleted || linkedTable?.deleted) - return `- ${chalk.red.strikethrough(column.name)} (${metadata})`; - if (table.added || column.added) return `- ${chalk.green(column.name)} (${metadata})`; - if (column.initialName) - return `- ${chalk.cyan(column.name)} ${chalk.yellow.strikethrough(column.initialName)} (${metadata})`; - return `- ${chalk.cyan(column.name)} (${metadata})`; } - getOverview() { - const info = { - tables: { added: 0, deleted: 0, modified: 0 }, - columns: { added: 0, deleted: 0, modified: 0 } - }; - for (const table of this.tables) { - if (table.added) info.tables.added++; - else if (table.deleted) info.tables.deleted++; - else if (table.initialName) info.tables.modified++; - - for (const column of table.columns) { - const linkedTable = this.tables.find((t) => (t.initialName || t.name) === column.link?.table); - if (table.added || column.added) info.columns.added++; - else if (table.deleted || column.deleted || linkedTable?.deleted) info.columns.deleted++; - else if (column.initialName) info.columns.modified++; - } - } - - const tablesOverview = [ - info.tables.added ? `${chalk.green(`+${info.tables.added}`)}` : null, - info.tables.deleted ? `${chalk.red(`-${info.tables.deleted}`)}` : null, - info.tables.modified ? `${chalk.yellow(`·${info.tables.modified}`)}` : null - ].filter(Boolean); - - const columnsOverview = [ - info.columns.added ? `${chalk.green(`+${info.columns.added}`)}` : null, - info.columns.deleted ? `${chalk.red(`-${info.columns.deleted}`)}` : null, - info.columns.modified ? `${chalk.yellow(`·${info.columns.modified}`)}` : null - ].filter(Boolean); - - const messages = [ - tablesOverview.length > 0 ? `${tablesOverview.join(', ')} tables` : null, - columnsOverview.length > 0 ? `${columnsOverview.join(', ')} columns` : null - ].filter(Boolean); - - return messages.join(', '); - } - - async showColumnEdit(column: EditableColumn | null, table: EditableTable) { - this.clear(); - const isColumnAdded = !column || column?.added; - const template = ` - name: \${name} - type: \${type} - link: \${link} -vectorDimension: \${vectorDimension} - description: \${description} - unique: \${unique} - notNull: \${notNull} - defaultValue: \${defaultValue}`; - - const initial: ColumnEditState['initial'] = { - name: column?.name || '', - type: column?.type || '', - link: isColumnAdded ? '' : column?.link?.table, - vectorDimension: column?.vector?.dimension ? `${column?.vector?.dimension}` : undefined, - notNull: column?.notNull ? 'true' : 'false', - defaultValue: column?.defaultValue || '', - unique: column?.unique ? 'true' : 'false', - description: isColumnAdded ? '' : column?.description - }; - const snippet: any = new Snippet({ - message: column?.name || 'a new column', - initial, - fields: [ - { - name: 'name', - message: 'The column name', - validate(value: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if (!identifier.test(value || '')) { - return snippet.styles.danger(`Column name has to match ${identifier}`); - } - return true; - } - }, - { - name: 'type', - message: `The column type (${typesList})`, - validate(value: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if (!isColumnAdded && value !== state.initial.type) { - return `Cannot change the type of existing columns`; - } - if (!value || !types.includes(value)) { - return `Type needs to be one of ${typesList}`; - } - return true; - } - }, - { - name: 'link', - message: 'Linked table. Only for columns that are links', - validate( - value: string | undefined, - state: ColumnEditState, - item: { value: string | undefined }, - index: number - ) { - if (!isColumnAdded && value !== state.initial.link) { - return `Cannot change the link of existing link columns`; - } - if (state.values.type === 'link') { - if (!value) { - return 'The link field must be filled for columns of type `link`'; - } - } else if (value) { - return 'The link field must not be filled unless the type of the column is `link`'; - } - return true; - } - }, - { - name: 'vectorDimension', - message: 'Vector Dimension. Only for columns that are vectors', - validate( - value: string | undefined, - state: ColumnEditState, - item: { value: string | undefined }, - index: number - ) { - if (!isColumnAdded && value !== state.initial.vectorDimension) { - return `Cannot change the vector dimension of existing vector columns`; - } - if (state.values.type === 'vector') { - if (!value) { - return 'The vectorDimension field must be filled for columns of type `vector`'; - } - } else if (value) { - return 'The vectorDimension field must not be filled unless the type of the column is `vector`'; - } - return true; - } - }, - { - name: 'unique', - message: 'Whether the column is unique (true/false)', - validate(value: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if (!isColumnAdded && parseBoolean(value) !== parseBoolean(state.initial.unique)) { - return `Cannot change unique for existing columns`; - } - const validateOptionalBooleanResult = validateOptionalBoolean(value); - if (validateOptionalBooleanResult !== true) { - return validateOptionalBooleanResult; - } - const validateUniqueResult = validateUnique(value, state); - if (validateUniqueResult !== true) { - return validateUniqueResult; - } - return true; - } - }, - { - name: 'notNull', - message: 'Whether the column is not nullable (true/false)', - validate(value: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if (!isColumnAdded && parseBoolean(value) !== parseBoolean(state.initial.notNull)) { - return `Cannot change notNull for existing columns`; - } - const validateOptionalBooleanResult = validateOptionalBoolean(value); - if (validateOptionalBooleanResult !== true) { - return validateOptionalBooleanResult; - } - const validateNotNullResult = validateNotNull(value, state); - if (validateNotNullResult !== true) { - return validateNotNullResult; - } - return true; - } - }, - { - name: 'description', - message: 'An optional column description', - validate(value: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if (!isColumnAdded && value !== state.initial.description) { - return `Cannot change description for existing columns`; - } - return true; - } - }, - { - name: 'defaultValue', - message: 'Default value', - validate(rawDefaultValue: string | undefined, state: ColumnEditState, item: unknown, index: number) { - if ( - !isColumnAdded && - state.values.type && - parseDefaultValue(state.values.type, rawDefaultValue) !== - parseDefaultValue(state.values.type, state.initial.defaultValue) - ) { - return `Cannot change defaultValue for existing columns`; - } - if (state.values.type) { - const isNotNull = parseBoolean(state.values.notNull) === true; - const defaultValue = parseDefaultValue(state.values.type, rawDefaultValue); - if (isNotNull && (!rawDefaultValue || rawDefaultValue.length === 0)) { - return 'defaultValue must be set for `notNull: true` columns'; - } - if (rawDefaultValue && rawDefaultValue.length > 0 && defaultValue === undefined) { - return `Invalid defaultValue for Type: ${state.values.type}`; - } - } - return true; - } - } - ], - footer() { - return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; - }, - template - }); - - try { - const { values } = await snippet.run(); - const unique = parseBoolean(values.unique); - const notNull = parseBoolean(values.notNull); - const col: Column = { - name: values.name, - type: values.type, - link: values.link && values.type === 'link' ? { table: values.link } : undefined, - vector: values.vectorDimension ? { dimension: parseInt(values.vectorDimension, 10) } : undefined, - unique: unique || undefined, - notNull: notNull || undefined, - defaultValue: parseDefaultValue(values.type, values.defaultValue) - // TODO: add description once the backend supports it - // description: values.description - }; - if (column) { - if (!column.initialName && !column.added && column.name !== values.name) { - column.initialName = column.name; - } - Object.assign(column, col); - if (column.name === column.initialName) { - delete column.initialName; - } - } else { - table.columns.push({ - ...col, - added: true - }); - // Override the variable to use it when redefining this.selectItem below - column = table.columns[table.columns.length - 1]; - } - } catch (err) { - if (err) throw err; - // if not, user cancelled - } - - this.selectItem = column; - await this.showSchema(); - } - - async showTableEdit(table: EditableTable | null) { - this.clear(); - + async showTableEdit() { + this.clear() const snippet = new Snippet({ - message: table ? table.name : 'a new table', - initial: { - name: table ? table.name : '' - }, + message: "Edit table name", + initial: { name: '' }, fields: [ - { - name: 'name', - message: 'The table name', - validate(value: string, state: unknown, item: unknown, index: number) { - if (!identifier.test(value || '')) { - return snippet.styles.danger(`Table name has to match ${identifier}`); - } - return true; - } - }, - { - name: 'description', - message: 'An optional table description' - } + this.tableNameField, ], - footer() { - return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; - }, + footer: this.footer, template: ` Name: \${name} - Description: \${description}` + ` }); try { const answer = await snippet.run(); - if (table) { - if (!table.initialName && !table.added && table.name !== answer.values.name) { - table.initialName = table.name; - } - Object.assign(table, answer.values); - if (table.name === table.initialName) { - delete table.initialName; - } - } else { - this.tables.push({ - ...answer.values, - columns: [], - added: true - }); - // Override the variable to use it when redefining this.selectItem below - table = this.tables[this.tables.length - 1]; - } + // TODO update state + console.log('answer', answer) + this.showSchemaEdit() } catch (err) { if (err) throw err; - // if not, user cancelled - } - - this.selectItem = table; - await this.showSchema(); - } - - async deleteTable(table: EditableTable) { - if (table.added) { - const index = this.tables.indexOf(table); - this.tables.splice(index, 1); - // TODO: select other table? - } else { - table.deleted = !table.deleted; - this.selectItem = table; - } - - this.clear(); - await this.showSchema(); - } - - async deleteColumn(column: EditableColumn, table: EditableTable) { - if (column.added) { - const index = table.columns.indexOf(column); - table.columns.splice(index, 1); - // TODO: select other column? - this.selectItem = table; - } else { - column.deleted = !column.deleted; - this.selectItem = column; } - - this.clear(); - await this.showSchema(); - } - - clear() { - process.stdout.write('\x1b[2J'); - process.stdout.write('\x1b[0f'); - } - - async migrate() { - this.clear(); - - if (!this.branchDetails) this.error('Branch details are not available'); - - const prompt = new Confirm({ - name: 'question', - message: `Are you sure you want to run the migration? ${this.getOverview()}` - }); - - try { - const answer = await prompt.run(); - if (!answer) { - await this.showSchema(); - return; - } - } catch (err) { - if (err) throw err; - // User cancelled - await this.showSchema(); - return; - } - - const workspace = this.workspace; - const region = this.region; - const database = this.database; - - const xata = await this.getXataClient(); - const branch = this.branchDetails.branchName; - - const edits: Schemas.SchemaEditScript = { - operations: [] - }; - - // Create tables, update tables, delete columns and update columns - for (const table of this.tables) { - if (table.added) { - this.info(`Creating table ${table.name}`); - edits.operations.push({ - addTable: { - table: table.name - } - }); - // await xata.tables.createTable({ workspace, region, database, branch, table: table.name }); - } else if (table.initialName) { - this.info(`Renaming table ${table.initialName} to ${table.name}`); - edits.operations.push({ - renameTable: { - newName: table.name, - oldName: table.initialName - } - }); - } - - for (const column of table.columns) { - const linkedTable = this.tables.find((t) => (t.initialName || t.name) === column.link?.table); - if (column.deleted || linkedTable?.deleted) { - this.info(`Deleting column ${table.name}.${column.name}`); - edits.operations.push({ - removeColumn: { - table: table.name, - column: column.name - } - }); - } else if (column.initialName) { - this.info(`Renaming column ${table.name}.${column.initialName} to ${table.name}.${column.name}`); - edits.operations.push({ - renameColumn: { - table: table.name, - newName: column.name, - oldName: column.initialName - } - }); - } - } - } - - // Delete tables and create columns - for (const table of this.tables) { - if (table.deleted) { - this.info(`Deleting table ${table.name}`); - edits.operations.push({ - removeTable: { - table: table.name - } - }); - continue; - } - - for (const column of table.columns) { - if (table.added || column.added) { - this.info(`Adding column ${table.name}.${column.name}`); - edits.operations.push({ - addColumn: { - table: table.name, - column: { - name: column.name, - type: column.type, - link: column.link, - vector: column.vector, - unique: column.unique, - notNull: column.notNull, - defaultValue: column.defaultValue - } - } - }); - } - } - } - - await xata.api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits } - }); - - this.success('Migration completed!'); } } -function parseBoolean(value?: string) { - if (!value) return undefined; - const val = value.toLowerCase(); - if (['true', 't', '1', 'y', 'yes'].includes(val)) return true; - if (['false', 'f', '0', 'n', 'no'].includes(val)) return false; - return null; -} -function validateOptionalBoolean(value?: string) { - const bool = parseBoolean(value); - if (bool === null) { - return 'Please enter a boolean value (e.g. yes, no, true, false) or leave it empty'; - } - return true; -} - -function validateUnique(uniqueValue: string | undefined, state: ColumnEditState) { - const isUnique = parseBoolean(uniqueValue); - if (isUnique && state.values.type && uniqueUnsupportedTypes.includes(state.values.type)) { - return `Column type \`${state.values.type}\` does not support \`unique: true\``; - } - if (isUnique && parseBoolean(state.values.notNull)) { - return 'Column cannot be both `unique: true` and `notNull: true`'; - } - if (isUnique && state.values.defaultValue) { - return 'Column cannot be both `unique: true` and have a `defaultValue` set'; - } - return true; -} - -function validateNotNull(notNullValue: string | undefined, state: ColumnEditState) { - const isNotNull = parseBoolean(notNullValue); - if (isNotNull && state.values.type && notNullUnsupportedTypes.includes(state.values.type)) { - return `Column type \`${state.values.type}\` does not support \`notNull: true\``; - } +const formatMigration = (op: PgRollMigration["operations"][number], currentMigration: PgRollMigration) => { + // TODO transform edits into migration + currentMigration.operations.push(op) +}; - return true; +const validateMigration = (migration: object) => { + return PgRollMigrationDefinition.safeParse(migration).success } -function parseDefaultValue(type: string, val?: string): string | undefined { - if (val === undefined || defaultValueUnsupportedTypes.includes(type)) { - return undefined; - } - const num = String(val).length > 0 ? +val : undefined; - - if (['text', 'string'].includes(type)) { - return val === '' ? undefined : String(val); - } else if (type === 'int') { - return Number.isSafeInteger(num) && val !== '' ? String(num) : undefined; - } else if (type === 'float') { - return Number.isFinite(num) && val !== '' ? String(num) : undefined; - } else if (type === 'bool') { - const booleanValue = parseBoolean(val); - return !isNil(booleanValue) ? String(booleanValue) : undefined; - } else if (type === 'email') { - if (!isValidEmail(val)) { - return undefined; - } - return val; - } else if (type === 'datetime') { - // Date fields have special values - if (['now'].includes(val)) return val; - - const date = new Date(val); - return isNaN(date.getTime()) ? undefined : date.toISOString(); - } else { - return undefined; - } -} diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..c0060c890 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -47,7 +47,7 @@ const getPgRollLink = (table: any, column: any) => { return null; }; -function pgRollToXataColumnType(type: string): string { +export function pgRollToXataColumnType(type: string): string { switch (type) { case 'boolean': return 'bool'; diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 358c783d7..3fdc79bb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,17 @@ settings: excludeLinksFromLockfile: false importers: - .: devDependencies: '@babel/core': specifier: ^7.24.0 - version: 7.24.0 + version: 7.24.3 '@babel/preset-env': specifier: ^7.24.0 - version: 7.24.0(@babel/core@7.24.0) + version: 7.24.3(@babel/core@7.24.3) '@babel/preset-typescript': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.0) + version: 7.24.1(@babel/core@7.24.3) '@changesets/changelog-github': specifier: ^0.5.0 version: 0.5.0 @@ -52,16 +51,16 @@ importers: version: 1.22.0 '@size-limit/preset-small-lib': specifier: ^11.1.1 - version: 11.1.1(size-limit@11.1.1) + version: 11.1.2(size-limit@11.1.2) '@types/node': specifier: ^20.11.29 - version: 20.11.29 + version: 20.11.30 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) doctoc: specifier: ^2.2.1 version: 2.2.1 @@ -85,7 +84,7 @@ importers: version: 15.2.2 msw: specifier: ^2.2.8 - version: 2.2.8(typescript@5.4.2) + version: 2.2.10(typescript@5.4.3) prettier: specifier: '=2.8.8' version: 2.8.8 @@ -100,7 +99,7 @@ importers: version: 2.0.0(rollup@4.13.0) rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.13.0)(typescript@5.4.2) + version: 6.1.0(rollup@4.13.0)(typescript@5.4.3) rollup-plugin-esbuild: specifier: ^6.1.1 version: 6.1.1(esbuild@0.20.2)(rollup@4.13.0) @@ -118,46 +117,52 @@ importers: version: 0.2.7 size-limit: specifier: ^11.1.1 - version: 11.1.1 + version: 11.1.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) + version: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) tsx: specifier: ^4.7.1 version: 4.7.1 turbo: specifier: ^1.12.5 - version: 1.12.5 + version: 1.13.0 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 vite: specifier: ^5.1.6 - version: 5.1.6(@types/node@20.11.29) + version: 5.2.2(@types/node@20.11.30) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.29) + version: 1.4.0(@types/node@20.11.30) zod: specifier: ^3.22.4 version: 3.22.4 cli: dependencies: + '@inquirer/prompts': + specifier: ^4.3.0 + version: 4.3.0 '@oclif/core': specifier: ^3.25.2 - version: 3.25.2 + version: 3.25.3 '@oclif/plugin-help': specifier: ^6.0.18 version: 6.0.18 '@oclif/plugin-not-found': specifier: ^3.0.14 - version: 3.0.14 + version: 3.1.0 '@oclif/plugin-plugins': specifier: ^4.3.7 - version: 4.3.7 + version: 4.3.8 '@types/ini': specifier: ^4.1.0 version: 4.1.0 + '@types/inquirer': + specifier: ^9.0.7 + version: 9.0.7 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -184,7 +189,7 @@ importers: version: 5.3.0 cosmiconfig: specifier: ^9.0.0 - version: 9.0.0(typescript@5.4.2) + version: 9.0.0(typescript@5.4.3) deepmerge: specifier: ^4.3.1 version: 4.3.1 @@ -206,6 +211,9 @@ importers: ini: specifier: ^4.1.2 version: 4.1.2 + inquirer: + specifier: ^9.2.16 + version: 9.2.16 lodash.compact: specifier: ^3.0.1 version: 3.0.1 @@ -281,25 +289,25 @@ importers: version: 5.1.1(eslint@8.57.0) eslint-config-oclif-typescript: specifier: ^3.1.3 - version: 3.1.3(eslint@8.57.0)(typescript@5.4.2) + version: 3.1.3(eslint@8.57.0)(typescript@5.4.3) oclif: specifier: ^4.5.7 - version: 4.5.7 + version: 4.6.1 shx: specifier: ^0.3.4 version: 0.3.4 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) + version: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 packages/client: dependencies: typescript: specifier: '>=4.5' - version: 5.2.2 + version: 5.4.3 packages/codegen: dependencies: @@ -317,7 +325,7 @@ importers: version: 22.0.0 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 zod: specifier: ^3.22.4 version: 3.22.4 @@ -396,10 +404,10 @@ importers: devDependencies: '@types/pg': specifier: ^8.11.3 - version: 8.11.3 + version: 8.11.4 drizzle-orm: specifier: ^0.30.3 - version: 0.30.3(@opentelemetry/api@1.8.0)(@types/pg@8.11.3)(pg@8.11.3)(react@17.0.2) + version: 0.30.4(@opentelemetry/api@1.8.0)(@types/pg@8.11.4)(@xata.io/client@packages+client)(pg@8.11.3)(react@17.0.2) pg: specifier: ^8.11.3 version: 8.11.3 @@ -418,10 +426,10 @@ importers: dependencies: '@babel/core': specifier: ^7.24.0 - version: 7.24.0 + version: 7.24.3 '@netlify/build': specifier: '=29.20.6' - version: 29.20.6(@types/node@20.11.29) + version: 29.20.6(@types/node@20.11.30) '@xata.io/client': specifier: workspace:* version: link:../client @@ -431,10 +439,10 @@ importers: version: 7.20.5 '@types/node': specifier: ^20.11.29 - version: 20.11.29 + version: 20.11.30 typescript: specifier: ^5.4.2 - version: 5.4.2 + version: 5.4.3 packages/plugin-client-opentelemetry: dependencies: @@ -446,23 +454,25 @@ importers: version: link:../client packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } + engines: { node: '>=0.10.0' } dev: true - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} + /@ampproject/remapping@2.3.0: + resolution: + { integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== } + engines: { node: '>=6.0.0' } dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} + /@apollo/client@3.9.8(graphql@15.8.0)(react@17.0.2): + resolution: + { integrity: sha512-ausPftEb2xAUkZqz+VkSSIhNxKraShJXdV2/NJ7JbHAAciGsFlapGtZ++b7lF0/+3Jp/p34g/i6dvO8b4WjQig== } peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -478,24 +488,28 @@ packages: optional: true dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) - '@wry/context': 0.7.3 - '@wry/equality': 0.5.6 - '@wry/trie': 0.4.3 + '@wry/caches': 1.0.1 + '@wry/equality': 0.5.7 + '@wry/trie': 0.5.0 graphql: 15.8.0 graphql-tag: 2.12.6(graphql@15.8.0) hoist-non-react-statics: 3.3.2 - optimism: 0.17.5 + optimism: 0.18.0 prop-types: 15.8.1 react: 17.0.2 + rehackt: 0.0.6(react@17.0.2) response-iterator: 0.2.6 symbol-observable: 4.0.0 ts-invariant: 0.10.3 tslib: 2.6.2 zen-observable-ts: 1.2.5 + transitivePeerDependencies: + - '@types/react' dev: true /@aws-crypto/crc32@3.0.0: - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} + resolution: + { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -503,7 +517,8 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} + resolution: + { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -511,38 +526,42 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + resolution: + { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + resolution: + { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.465.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + resolution: + { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.465.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + resolution: + { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -550,13 +569,15 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + resolution: + { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + resolution: + { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -564,8 +585,9 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -614,9 +636,10 @@ packages: - aws-crt dev: true - /@aws-sdk/client-s3@3.535.0: - resolution: {integrity: sha512-qcFCP9a695ZvAbm+hRMyfE2PjqnSkq0Bl57X7z8gHUg4TIjKJHTP7mtND21A4YaWigegQL6OA5kMXMZbCcugLA==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-s3@3.537.0: + resolution: + { integrity: sha512-EMPN2toHz1QtSiDeLKS1zrazh+8J0g1Y5t5lCq25iTXqCSV9vB2jCKwG5+OB6L5tAKkwyl1uZofeWLmdFkztEg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -633,7 +656,7 @@ packages: '@aws-sdk/middleware-recursion-detection': 3.535.0 '@aws-sdk/middleware-sdk-s3': 3.535.0 '@aws-sdk/middleware-signing': 3.535.0 - '@aws-sdk/middleware-ssec': 3.535.0 + '@aws-sdk/middleware-ssec': 3.537.0 '@aws-sdk/middleware-user-agent': 3.535.0 '@aws-sdk/region-config-resolver': 3.535.0 '@aws-sdk/signature-v4-multi-region': 3.535.0 @@ -680,8 +703,9 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -730,8 +754,9 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -776,8 +801,9 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -825,8 +851,9 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/core': 1.4.0 '@smithy/protocol-http': 3.3.0 @@ -838,8 +865,9 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -848,8 +876,9 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -863,8 +892,9 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -883,8 +913,9 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -903,8 +934,9 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -914,8 +946,9 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -930,8 +963,9 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -944,8 +978,9 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -957,8 +992,9 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -967,8 +1003,9 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -981,8 +1018,9 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -991,8 +1029,9 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1000,8 +1039,9 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1009,8 +1049,9 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1019,8 +1060,9 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.535.0: - resolution: {integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-/dLG/E3af6ohxkQ5GBHT8tZfuPIg6eItKxCXuulvYj0Tqgf3Mb+xTsvSkxQsJF06RS4sH7Qsg/PnB8ZfrJrXpg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1034,8 +1076,9 @@ packages: dev: true /@aws-sdk/middleware-signing@3.535.0: - resolution: {integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Rb4sfus1Gc5paRl9JJgymJGsb/i3gJKK/rTuFZICdd1PBBE5osIOHP5CpzWYBtc5LlyZE1a2QoxPMCyG+QUGPw== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1046,9 +1089,10 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/middleware-ssec@3.535.0: - resolution: {integrity: sha512-QAQ++9my7VZzusUPOFcUMdhTnjpGRyy/OvPC+jg9usdfcaSZeQbfzbdaVBalcm2Wt+1qxh3LZSTS+LxKikm02Q==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-ssec@3.537.0: + resolution: + { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1056,8 +1100,9 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1067,8 +1112,9 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1079,8 +1125,9 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.535.0: - resolution: {integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-tqCsEsEj8icW0SAh3NvyhRUq54Gz2pu4NM2tOSrFp7SO55heUUaRLSzYteNZCTOupH//AAaZvbN/UUTO/DrOog== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/middleware-sdk-s3': 3.535.0 '@aws-sdk/types': 3.535.0 @@ -1091,8 +1138,9 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1106,23 +1154,26 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1130,15 +1181,17 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/util-locate-window@3.465.0: - resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/util-locate-window@3.535.0: + resolution: + { integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + resolution: + { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1147,8 +1200,9 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } + engines: { node: '>=14.0.0' } peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1162,43 +1216,48 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + resolution: + { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} + /@babel/code-frame@7.24.2: + resolution: + { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} + /@babel/compat-data@7.24.1: + resolution: + { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } + engines: { node: '>=6.9.0' } - /@babel/core@7.24.0: - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} - engines: {node: '>=6.9.0'} + /@babel/core@7.24.3: + resolution: + { integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ== } + engines: { node: '>=6.9.0' } dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helpers': 7.24.0 - '@babel/parser': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@9.4.0) @@ -1208,1205 +1267,1292 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} + /@babel/generator@7.24.1: + resolution: + { integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} - engines: {node: '>=6.9.0'} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} - engines: {node: '>=6.9.0'} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + resolution: + { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@9.4.0) lodash.debounce: 4.0.8 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } + engines: { node: '>=6.9.0' } /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} + /@babel/helper-module-imports@7.24.3: + resolution: + { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } + engines: { node: '>=6.9.0' } dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} - engines: {node: '>=6.9.0'} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + resolution: + { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} - engines: {node: '>=6.9.0'} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.24.1: + resolution: + { integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== } + engines: { node: '>=6.9.0' } /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - dev: true + resolution: + { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } + engines: { node: '>=6.9.0' } /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } + engines: { node: '>=6.9.0' } /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/types': 7.24.0 dev: true - /@babel/helpers@7.24.0: - resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} - engines: {node: '>=6.9.0'} + /@babel/helpers@7.24.1: + resolution: + { integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg== } + engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} + /@babel/highlight@7.24.2: + resolution: + { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 - /@babel/parser@7.23.3: - resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} + /@babel/parser@7.24.1: + resolution: + { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } + engines: { node: '>=6.0.0' } hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + resolution: + { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + resolution: + { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + resolution: + { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + resolution: + { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} - engines: {node: '>=6.9.0'} + /@babel/preset-env@7.24.3(@babel/core@7.24.3): + resolution: + { integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) - core-js-compat: 3.35.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + resolution: + { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} - engines: {node: '>=6.9.0'} + /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) dev: true /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + resolution: + { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } dev: true - /@babel/runtime@7.23.1: - resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} - engines: {node: '>=6.9.0'} + /@babel/runtime@7.24.1: + resolution: + { integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== } + engines: { node: '>=6.9.0' } dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 dev: true - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.24.0 - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - /@babel/traverse@7.24.0: - resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} - engines: {node: '>=6.9.0'} + /@babel/traverse@7.24.1: + resolution: + { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 debug: 4.3.4(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color + /@babel/types@7.23.6: + resolution: + { integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } + engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-string-parser': 7.23.4 + '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@bugsnag/browser@7.21.0: - resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} + /@bugsnag/browser@7.22.4: + resolution: + { integrity: sha512-h2o9RZhAEIgJAUsECd7a00IkLnvQvLT7dUyUYx/s8VLvcq89gKa8E59rlM7f15wtkJ5MPfozhErXDpsdOvF4Rg== } dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} + resolution: + { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2416,18 +2562,21 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} + resolution: + { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } dev: false - /@bugsnag/js@7.21.0: - resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} + /@bugsnag/js@7.22.4: + resolution: + { integrity: sha512-GjU3YmCNxVl1QZ64e8D4hKSfhHiymHu4hyYlyKxIdqmnhpHvoFnADcdAHEnWPG82O9j9w+JoDXvL460aiOEgHg== } dependencies: - '@bugsnag/browser': 7.21.0 - '@bugsnag/node': 7.19.0 + '@bugsnag/browser': 7.22.4 + '@bugsnag/node': 7.22.3 dev: false - /@bugsnag/node@7.19.0: - resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} + /@bugsnag/node@7.22.3: + resolution: + { integrity: sha512-vDXu0mrduonyCjUkTp+zKSh1WHAtA2VjB49xK5s1f/HnTASiJvzUOQBRXrkqaj37sndYHUSMxUCPvLawyc75nA== } dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2438,25 +2587,29 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} + resolution: + { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + resolution: + { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + resolution: + { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + resolution: + { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -2472,9 +2625,10 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + resolution: + { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 @@ -2483,13 +2637,15 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + resolution: + { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} + resolution: + { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -2499,10 +2655,11 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + resolution: + { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } hasBin: true dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/apply-release-plan': 7.0.0 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 @@ -2517,10 +2674,10 @@ packages: '@changesets/types': 6.0.0 '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.6 + '@types/semver': 7.5.8 ansi-colors: 4.1.3 chalk: 2.4.2 - ci-info: 3.8.0 + ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 @@ -2528,16 +2685,17 @@ packages: meow: 6.1.1 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.2 + preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.1 + tty-table: 4.2.3 dev: true /@changesets/config@3.0.0: - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + resolution: + { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -2549,13 +2707,15 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + resolution: + { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + resolution: + { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2565,7 +2725,8 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} + resolution: + { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -2574,9 +2735,10 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + resolution: + { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -2586,13 +2748,15 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + resolution: + { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } dev: true /@changesets/git@3.0.0: - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + resolution: + { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2602,22 +2766,25 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + resolution: + { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + resolution: + { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + resolution: + { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -2625,9 +2792,10 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + resolution: + { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -2638,17 +2806,20 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + resolution: + { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } dev: true /@changesets/types@6.0.0: - resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} + resolution: + { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } dev: true /@changesets/write@0.3.0: - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + resolution: + { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -2656,44 +2827,61 @@ packages: dev: true /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } + engines: { node: '>=12' } dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } + engines: { node: '>=16' } dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } + engines: { node: '>=16' } dev: false /@edge-runtime/primitives@4.1.0: - resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } + engines: { node: '>=16' } dev: false /@edge-runtime/vm@3.2.0: - resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } + engines: { node: '>=16' } dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } + engines: { node: '>=12' } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -2701,8 +2889,9 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -2710,26 +2899,29 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-arm64@0.19.2: - resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} - engines: {node: '>=12'} + /@esbuild/android-arm64@0.19.12: + resolution: + { integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -2737,26 +2929,29 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-arm@0.19.2: - resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.19.12: + resolution: + { integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true @@ -2764,26 +2959,29 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/android-x64@0.19.2: - resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.19.12: + resolution: + { integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -2791,26 +2989,29 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/darwin-arm64@0.19.2: - resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.19.12: + resolution: + { integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -2818,26 +3019,29 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/darwin-x64@0.19.2: - resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.19.12: + resolution: + { integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -2845,26 +3049,29 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/freebsd-arm64@0.19.2: - resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -2872,26 +3079,29 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/freebsd-x64@0.19.2: - resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.19.12: + resolution: + { integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -2899,26 +3109,29 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-arm64@0.19.2: - resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.19.12: + resolution: + { integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -2926,26 +3139,29 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-arm@0.19.2: - resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.19.12: + resolution: + { integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -2953,26 +3169,29 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-ia32@0.19.2: - resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.19.12: + resolution: + { integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -2980,26 +3199,29 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-loong64@0.19.2: - resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.19.12: + resolution: + { integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true @@ -3007,26 +3229,29 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-mips64el@0.19.2: - resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.19.12: + resolution: + { integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -3034,26 +3259,29 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-ppc64@0.19.2: - resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.19.12: + resolution: + { integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -3061,26 +3289,29 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-riscv64@0.19.2: - resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.19.12: + resolution: + { integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -3088,26 +3319,29 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-s390x@0.19.2: - resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.19.12: + resolution: + { integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -3115,26 +3349,29 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/linux-x64@0.19.2: - resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.19.12: + resolution: + { integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -3142,26 +3379,29 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/netbsd-x64@0.19.2: - resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.19.12: + resolution: + { integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -3169,26 +3409,29 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/openbsd-x64@0.19.2: - resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} - engines: {node: '>=12'} + /@esbuild/openbsd-x64@0.19.12: + resolution: + { integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -3196,26 +3439,29 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/sunos-x64@0.19.2: - resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.19.12: + resolution: + { integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -3223,26 +3469,29 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-arm64@0.19.2: - resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.19.12: + resolution: + { integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -3250,26 +3499,29 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-ia32@0.19.2: - resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.19.12: + resolution: + { integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -3277,26 +3529,29 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@esbuild/win32-x64@0.19.2: - resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.19.12: + resolution: + { integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -3304,8 +3559,9 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3313,20 +3569,22 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.8.2: - resolution: {integrity: sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /@eslint-community/regexpp@4.10.0: + resolution: + { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) espree: 9.6.1 - globals: 13.22.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3336,71 +3594,75 @@ packages: dev: true /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@exodus/schemasafe@1.3.0: - resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} + resolution: + { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } dev: true /@faker-js/faker@8.4.1: - resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} + resolution: + { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } dev: false - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + resolution: + { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 15.8.0 dev: true - /@grpc/grpc-js@1.9.3: - resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} - engines: {node: ^8.13.0 || >=10.10.0} + /@grpc/grpc-js@1.10.3: + resolution: + { integrity: sha512-qiO9MNgYnwbvZ8MK0YLWbnGrNX3zTcj6/Ef7UHu5ZofER3e2nF3Y35GaPo9qNJJ/UJQKa4KL+z/F4Q8Q+uCdUQ== } + engines: { node: '>=12.10.0' } dependencies: '@grpc/proto-loader': 0.7.10 - '@types/node': 20.11.29 + '@js-sdsl/ordered-map': 4.4.2 /@grpc/proto-loader@0.7.10: - resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } + engines: { node: '>=6' } hasBin: true dependencies: lodash.camelcase: 4.3.0 long: 5.2.3 - protobufjs: 7.2.5 + protobufjs: 7.2.6 yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } + engines: { node: '>=14' } dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/exporter-metrics-otlp-grpc': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-metrics-otlp-proto': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-trace-otlp-proto': 0.36.1(@opentelemetry/api@1.8.0) '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.8.0) - '@opentelemetry/sdk-metrics': 1.18.1(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-metrics': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/sdk-node': 0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0) '@opentelemetry/sdk-trace-base': 1.22.0(@opentelemetry/api@1.8.0) - axios: 1.5.0 + axios: 1.6.8 transitivePeerDependencies: - debug - supports-color dev: false /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + resolution: + { integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== } + engines: { node: '>=10.10.0' } dependencies: '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@9.4.0) @@ -3410,38 +3672,60 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + resolution: + { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } + engines: { node: '>=12.22' } dev: true /@humanwhocodes/momoa@2.0.4: - resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} - engines: {node: '>=10.10.0'} + resolution: + { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } + engines: { node: '>=10.10.0' } dev: false /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + resolution: + { integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== } dev: true + /@iarna/toml@2.2.5: + resolution: + { integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== } + dev: false + /@import-maps/resolve@1.0.1: - resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} + resolution: + { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } dev: false - /@inquirer/confirm@3.0.0: - resolution: {integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==} - engines: {node: '>=18'} + /@inquirer/checkbox@2.2.0: + resolution: + { integrity: sha512-L+owhbEm98dnP15XtT/8D1+nNvQecf8HngVFYTJaDR0jlfIeOHFHRbjhLKoVYxks85yY8mLaYXVZQLU46KTkXg== } + engines: { node: '>=18' } dependencies: - '@inquirer/core': 7.0.0 - '@inquirer/type': 1.2.0 - dev: true + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + dev: false - /@inquirer/core@7.0.0: - resolution: {integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==} - engines: {node: '>=18'} + /@inquirer/confirm@3.1.0: + resolution: + { integrity: sha512-nH5mxoTEoqk6WpoBz80GMpDSm9jH5V9AF8n+JZAZfMzd9gHeEG9w1o3KawPRR72lfzpP+QxBHLkOKLEApwhDiQ== } + engines: { node: '>=18' } dependencies: - '@inquirer/type': 1.2.0 + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + + /@inquirer/core@7.1.0: + resolution: + { integrity: sha512-FRCiDiU54XHt5B/D8hX4twwZuzSP244ANHbu3R7CAsJfiv1dUOz24ePBgCZjygEjDUi6BWIJuk4eWLKJ7LATUw== } + engines: { node: '>=18' } + dependencies: + '@inquirer/type': 1.2.1 '@types/mute-stream': 0.0.4 - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -3453,16 +3737,92 @@ packages: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true - /@inquirer/type@1.2.0: - resolution: {integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA==} - engines: {node: '>=18'} - dev: true + /@inquirer/editor@2.1.0: + resolution: + { integrity: sha512-gBxebaZLATrQyjZnuPLcfM2WxjZG6rjEmnzepJb/0bypi1PgWt9rZoH+a/j1uJx/tF+jhYrvSBr8McEOWcyAWg== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + external-editor: 3.1.0 + dev: false + + /@inquirer/expand@2.1.0: + resolution: + { integrity: sha512-jQgF7ImxxsX4MM8BUk33ffOvx3YOlaEqNCLTxBk7eZ5KOqOshmUq9FnOMnacUXpu7MJtkV/DJHubFiC/q4NF6g== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + chalk: 4.1.2 + figures: 3.2.0 + dev: false + + /@inquirer/input@2.1.0: + resolution: + { integrity: sha512-o57pST+xxZfGww1h4G7ISiX37KlLcajhKgKGG7/h8J6ClWtsyqwMv1el9Ds/4geuYN/HcPj0MyX9gTEO62UpcA== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + + /@inquirer/password@2.1.0: + resolution: + { integrity: sha512-93x0Rpq75SP9u4s3zh4UcSKvn8KBGgyF3tKN7bNQp3bseROR0uJgySDp8iTQpcTfhJy41R+2Jr4xNLKGhr6Gzw== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + ansi-escapes: 4.3.2 + dev: false + + /@inquirer/prompts@4.3.0: + resolution: + { integrity: sha512-bSpFHqCnHrfmYgIMEFmA2YPPKxyw3n3ouI5S8m4N8krztJm1hFpQ8SdsZbBPRytoMaVvUgkASmiC0ih2VhDW9g== } + engines: { node: '>=18' } + dependencies: + '@inquirer/checkbox': 2.2.0 + '@inquirer/confirm': 3.1.0 + '@inquirer/core': 7.1.0 + '@inquirer/editor': 2.1.0 + '@inquirer/expand': 2.1.0 + '@inquirer/input': 2.1.0 + '@inquirer/password': 2.1.0 + '@inquirer/rawlist': 2.1.0 + '@inquirer/select': 2.2.0 + dev: false + + /@inquirer/rawlist@2.1.0: + resolution: + { integrity: sha512-PykR/2LwcXcCeglDVj3OVVNrbhY2cyHTveWoSm9FmnksDtQDIXJqYgYGgvPOdPsDIj3VGVBKSXYNk+kHaQv0gw== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + chalk: 4.1.2 + dev: false + + /@inquirer/select@2.2.0: + resolution: + { integrity: sha512-Pml3DhVM1LnfqasUMIzaBtw+s5UjM5k0bzDeWrWOgqAMWe16AOg0DcAhXHf+SYbnj2CFBeP/TvkvedL4aAEWww== } + engines: { node: '>=18' } + dependencies: + '@inquirer/core': 7.1.0 + '@inquirer/type': 1.2.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + + /@inquirer/type@1.2.1: + resolution: + { integrity: sha512-xwMfkPAxeo8Ji/IxfUSqzRi0/+F2GIqJmpc5/thelgMGsjNZcjDDRBO9TLXT1s/hdx/mK5QbVIvgoLIFgXhTMQ== } + engines: { node: '>=18' } /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } + engines: { node: '>=12' } dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -3472,72 +3832,90 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true - /@isaacs/string-locale-compare@1.1.0: - resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} - dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.29 - '@types/yargs': 16.0.6 + resolution: + { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.11.30 + '@types/yargs': 16.0.9 chalk: 4.1.2 dev: false - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + /@jridgewell/gen-mapping@0.3.5: + resolution: + { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } + engines: { node: '>=6.0.0' } dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} + /@jridgewell/resolve-uri@3.1.2: + resolution: + { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== } + engines: { node: '>=6.0.0' } - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: + { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } + engines: { node: '>=6.0.0' } /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + resolution: + { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.25: + resolution: + { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + resolution: + { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + /@js-sdsl/ordered-map@4.4.2: + resolution: + { integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== } + + /@ljharb/through@2.3.13: + resolution: + { integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + dev: false + /@manypkg/find-root@1.1.0: - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + resolution: + { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 dev: true /@manypkg/get-packages@1.1.3: - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + resolution: + { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -3546,10 +3924,11 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + resolution: + { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } hasBin: true dependencies: - detect-libc: 2.0.2 + detect-libc: 2.0.3 https-proxy-agent: 5.0.1(supports-color@9.4.0) make-dir: 3.1.0 node-fetch: 2.7.0 @@ -3557,20 +3936,22 @@ packages: npmlog: 5.0.1 rimraf: 3.0.2 semver: 7.6.0 - tar: 6.2.0 + tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color dev: false /@mswjs/cookies@1.1.0: - resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } + engines: { node: '>=18' } dev: true /@mswjs/interceptors@0.25.16: - resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg== } + engines: { node: '>=18' } dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -3581,23 +3962,25 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} + resolution: + { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } dev: false - /@netlify/build@29.20.6(@types/node@20.11.29): - resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/build@29.20.6(@types/node@20.11.30): + resolution: + { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } + engines: { node: ^14.16.0 || >=16.0.0 } hasBin: true dependencies: - '@bugsnag/js': 7.21.0 + '@bugsnag/js': 7.22.4 '@honeycombio/opentelemetry-node': 0.4.0(supports-color@9.4.0) '@netlify/cache-utils': 5.1.5 - '@netlify/config': 20.9.0 + '@netlify/config': 20.12.1 '@netlify/edge-bundler': 8.18.0 '@netlify/framework-info': 9.8.10 - '@netlify/functions-utils': 5.2.29(supports-color@9.4.0) + '@netlify/functions-utils': 5.2.51(supports-color@9.4.0) '@netlify/git-utils': 5.1.1 - '@netlify/plugins-list': 6.71.0 + '@netlify/plugins-list': 6.77.0 '@netlify/run-utils': 5.1.1 '@netlify/zip-it-and-ship-it': 9.16.0(supports-color@9.4.0) '@opentelemetry/api': 1.8.0 @@ -3606,7 +3989,7 @@ packages: chalk: 5.3.0 clean-stack: 4.2.0 execa: 6.1.0 - fdir: 6.1.0 + fdir: 6.1.1 figures: 5.0.0 filter-obj: 5.1.0 got: 12.6.1 @@ -3632,16 +4015,16 @@ packages: ps-list: 8.1.1 read-pkg-up: 9.1.0 readdirp: 3.6.0 - resolve: 2.0.0-next.4 - rfdc: 1.3.0 + resolve: 2.0.0-next.5 + rfdc: 1.3.1 safe-json-stringify: 1.2.0 semver: 7.6.0 string-width: 5.1.2 strip-ansi: 7.1.0 supports-color: 9.4.0 terminal-link: 3.0.0 - ts-node: 10.9.2(@types/node@20.11.29)(typescript@5.4.2) - typescript: 5.4.2 + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) + typescript: 5.4.3 uuid: 9.0.1 yargs: 17.7.2 transitivePeerDependencies: @@ -3654,8 +4037,9 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -3667,11 +4051,13 @@ packages: readdirp: 3.6.0 dev: false - /@netlify/config@20.9.0: - resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/config@20.12.1: + resolution: + { integrity: sha512-sziuaOA9XfeQjQf6Yru7S9k9xTMy9GAJSPJL02WFld0cFDA5dgDyAFLN34jedIbgl7jVV+g7Vb2nOJocfgibbg== } + engines: { node: ^14.16.0 || >=16.0.0 } hasBin: true dependencies: + '@iarna/toml': 2.2.5 chalk: 5.3.0 cron-parser: 4.9.0 deepmerge: 4.3.1 @@ -3685,22 +4071,22 @@ packages: is-plain-obj: 4.1.0 js-yaml: 4.1.0 map-obj: 5.0.2 - netlify: 13.1.10 - netlify-headers-parser: 7.1.2 - netlify-redirect-parser: 14.2.0 + netlify: 13.1.14 + netlify-headers-parser: 7.1.4 + netlify-redirect-parser: 14.2.2 node-fetch: 3.3.2 omit.js: 2.0.2 p-locate: 6.0.0 path-type: 5.0.0 - toml: 3.0.0 tomlify-j0.4: 3.0.0 validate-npm-package-name: 4.0.0 yargs: 17.7.2 dev: false /@netlify/edge-bundler@8.18.0: - resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -3713,7 +4099,7 @@ packages: get-port: 6.1.2 glob-to-regexp: 0.4.1 is-path-inside: 4.0.0 - jsonc-parser: 3.2.0 + jsonc-parser: 3.2.1 node-fetch: 3.3.2 node-stream-zip: 1.15.0 p-retry: 5.1.2 @@ -3727,8 +4113,9 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -3736,8 +4123,9 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -3745,8 +4133,9 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -3754,8 +4143,9 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -3763,8 +4153,9 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -3772,8 +4163,9 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3781,8 +4173,9 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -3790,8 +4183,9 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -3799,8 +4193,9 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -3808,8 +4203,9 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -3817,8 +4213,9 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -3826,8 +4223,9 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -3835,8 +4233,9 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -3844,8 +4243,9 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -3853,8 +4253,9 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -3862,8 +4263,9 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -3871,8 +4273,9 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -3880,8 +4283,9 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -3889,8 +4293,9 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -3898,8 +4303,9 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -3907,8 +4313,9 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -3935,8 +4342,9 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } + engines: { node: ^14.14.0 || >=16.0.0 } dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -3950,11 +4358,12 @@ packages: semver: 7.6.0 dev: false - /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} - engines: {node: ^14.16.0 || >=16.0.0} + /@netlify/functions-utils@5.2.51(supports-color@9.4.0): + resolution: + { integrity: sha512-A4XLQOE2pfcOHcCTs97G6FDVQg20zGoROCAZcpnNd8bMvBDDVgziC/xoFxm4xGC36u0YogSECsLoIbSKSxLloA== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: - '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) + '@netlify/zip-it-and-ship-it': 9.29.2(supports-color@9.4.0) cpy: 9.0.1 path-exists: 5.0.0 transitivePeerDependencies: @@ -3963,8 +4372,9 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -3974,52 +4384,59 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } + engines: { node: ^14.16.0 || >=16.0.0 } dev: false - /@netlify/open-api@2.22.0: - resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} + /@netlify/open-api@2.28.0: + resolution: + { integrity: sha512-lSx9yVn5mzTS7u9aevQyDRoWaHJYNl15B7CU373g8We39wW8fGh4sdNY7ciPWshf42FblOVlBdoasn/LpzquXg== } + engines: { node: '>=14' } dev: false - /@netlify/plugins-list@6.71.0: - resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} - engines: {node: ^14.14.0 || >=16.0.0} + /@netlify/plugins-list@6.77.0: + resolution: + { integrity: sha512-czL3FH61hFhhVQydRj2xjIwLVYHDNskMhRib7dUfOQrUHifqLlUFKp03NwBD87G9BFKXUYGWZMEUU+JjIpVc9w== } + engines: { node: ^14.14.0 || >=16.0.0 } dev: false /@netlify/run-utils@5.1.1: - resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} - engines: {node: ^14.16.0 || >=16.0.0} + resolution: + { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: execa: 6.1.0 dev: false - /@netlify/serverless-functions-api@1.7.3: - resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} - engines: {node: ^14.18.0 || >=16.0.0} + /@netlify/serverless-functions-api@1.14.0: + resolution: + { integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q== } + engines: { node: ^14.18.0 || >=16.0.0 } dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } + engines: { node: ^14.18.0 || >=16.0.0 } hasBin: true dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@netlify/binary-info': 1.0.0 '@netlify/esbuild': 0.14.39-1 - '@netlify/serverless-functions-api': 1.7.3 + '@netlify/serverless-functions-api': 1.14.0 '@vercel/nft': 0.23.1(supports-color@9.4.0) archiver: 5.3.2 common-path-prefix: 3.0.0 cp-file: 10.0.0 - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.2 execa: 6.1.0 filter-obj: 5.1.0 find-up: 6.3.0 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 glob: 8.1.0 is-builtin-module: 3.2.1 is-path-inside: 4.0.0 @@ -4032,7 +4449,7 @@ packages: path-exists: 5.0.0 precinct: 11.0.5(supports-color@9.4.0) require-package-name: 2.0.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 7.6.0 tmp-promise: 3.0.3 toml: 3.0.0 @@ -4044,24 +4461,26 @@ packages: - supports-color dev: false - /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} - engines: {node: ^14.18.0 || >=16.0.0} + /@netlify/zip-it-and-ship-it@9.29.2(supports-color@9.4.0): + resolution: + { integrity: sha512-9o/4lsFWuyPpe38Rhk/00JyccKSBRGM9Av3DINnh/QrpTeIC6esfJsaJNQ4JQ+gU4XXAwxPY9Uk+16WMPs/zkg== } + engines: { node: ^14.18.0 || >=16.0.0 } hasBin: true dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 + '@babel/types': 7.23.6 '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.7.3 + '@netlify/serverless-functions-api': 1.14.0 '@vercel/nft': 0.23.1(supports-color@9.4.0) - archiver: 6.0.1 + archiver: 6.0.2 common-path-prefix: 3.0.0 cp-file: 10.0.0 - es-module-lexer: 1.3.1 - esbuild: 0.19.2 + es-module-lexer: 1.4.2 + esbuild: 0.19.11 execa: 6.1.0 + fast-glob: 3.3.2 filter-obj: 5.1.0 find-up: 6.3.0 - get-tsconfig: 4.7.2 glob: 8.1.0 is-builtin-module: 3.2.1 is-path-inside: 4.0.0 @@ -4074,7 +4493,7 @@ packages: path-exists: 5.0.0 precinct: 11.0.5(supports-color@9.4.0) require-package-name: 2.0.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 7.6.0 tmp-promise: 3.0.3 toml: 3.0.0 @@ -4087,446 +4506,141 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } + engines: { node: '>= 8' } /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - - /@npmcli/arborist@4.3.1: - resolution: {integrity: sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - hasBin: true - dependencies: - '@isaacs/string-locale-compare': 1.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/map-workspaces': 2.0.4 - '@npmcli/metavuln-calculator': 2.0.0 - '@npmcli/move-file': 1.1.2 - '@npmcli/name-from-folder': 1.0.1 - '@npmcli/node-gyp': 1.0.3 - '@npmcli/package-json': 1.0.1 - '@npmcli/run-script': 2.0.0 - bin-links: 3.0.3 - cacache: 15.3.0 - common-ancestor-path: 1.0.1 - json-parse-even-better-errors: 2.3.1 - json-stringify-nice: 1.1.4 - mkdirp: 1.0.4 - mkdirp-infer-owner: 2.0.0 - npm-install-checks: 4.0.0 - npm-package-arg: 8.1.5 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 12.0.2 - pacote: 12.0.3 - parse-conflict-json: 2.0.2 - proc-log: 1.0.0 - promise-all-reject-late: 1.0.1 - promise-call-limit: 1.0.2 - read-package-json-fast: 2.0.3 - readdir-scoped-modules: 1.1.0 - rimraf: 3.0.2 - semver: 7.6.0 - ssri: 8.0.1 - treeverse: 1.0.4 - walk-up-path: 1.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true + fastq: 1.17.1 - /@npmcli/fs@1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + /@oclif/core@3.25.3: + resolution: + { integrity: sha512-2TLZmqnDZos9h73KbrdKqvUQEXIPpUfEzgIfqdQRZwszfk1RtiHAb/7ihtnJICnRRVXlD4XLDmUlY4cFJ0ka4g== } + engines: { node: '>=18.0.0' } dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 - dev: true + '@types/cli-progress': 3.11.5 + ansi-escapes: 4.3.2 + ansi-styles: 4.3.0 + cardinal: 2.1.1 + chalk: 4.1.2 + clean-stack: 3.0.1 + cli-progress: 3.12.0 + color: 4.2.3 + debug: 4.3.4(supports-color@8.1.1) + ejs: 3.1.9 + get-package-type: 0.1.0 + globby: 11.1.0 + hyperlinker: 1.0.0 + indent-string: 4.0.0 + is-wsl: 2.2.0 + js-yaml: 3.14.1 + minimatch: 9.0.3 + natural-orderby: 2.0.3 + object-treeify: 1.1.33 + password-prompt: 1.1.3 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + supports-color: 8.1.1 + supports-hyperlinks: 2.3.0 + widest-line: 3.1.0 + wordwrap: 1.0.0 + wrap-ansi: 7.0.0 - /@npmcli/fs@2.1.2: - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /@oclif/plugin-help@6.0.18: + resolution: + { integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ== } + engines: { node: '>=18.0.0' } dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 - dev: true + '@oclif/core': 3.25.3 - /@npmcli/fs@3.1.0: - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@oclif/plugin-not-found@3.1.0: + resolution: + { integrity: sha512-sWTSHj1jf8w2kQtOEZpuUjy5zRcLPxuvkKQQniaGKg7JMgCADo1bRoiXdFVPth7f+AdhSNRPYhYCbqtydWjI8A== } + engines: { node: '>=18.0.0' } dependencies: - semver: 7.6.0 - dev: true + '@inquirer/confirm': 3.1.0 + '@oclif/core': 3.25.3 + chalk: 5.3.0 + fast-levenshtein: 3.0.0 - /@npmcli/git@2.1.0: - resolution: {integrity: sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==} + /@oclif/plugin-plugins@4.3.8: + resolution: + { integrity: sha512-QU0a4VFmA+Wb/kIUsBKw14KMbH4bHdz5ejwvqql89DumtsUzPOekSHgEzODC2ESZnDWx+h5pD9NPg4lAMPMbxQ== } + engines: { node: '>=18.0.0' } dependencies: - '@npmcli/promise-spawn': 1.3.2 - lru-cache: 6.0.0 - mkdirp: 1.0.4 - npm-pick-manifest: 6.1.1 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 + '@oclif/core': 3.25.3 + chalk: 5.3.0 + debug: 4.3.4(supports-color@9.4.0) + npm: 10.2.4 + npm-run-path: 4.0.1 semver: 7.6.0 - which: 2.0.2 + shelljs: 0.8.5 + validate-npm-package-name: 5.0.0 + yarn: 1.22.22 transitivePeerDependencies: - - bluebird - dev: true + - supports-color + dev: false - /@npmcli/git@4.1.0: - resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@oclif/plugin-warn-if-update-available@3.0.14: + resolution: + { integrity: sha512-CCChGqmR8F0JHJ4ikXD1KgNC/dAsd3FJeQHsZm1BP5YlzLCtSEu6Oz/lpdH1OdnCbVBHJkrquCiL/81S9DTzGw== } + engines: { node: '>=18.0.0' } dependencies: - '@npmcli/promise-spawn': 6.0.2 - lru-cache: 7.18.3 - npm-pick-manifest: 8.0.2 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.0 - which: 3.0.1 + '@oclif/core': 3.25.3 + chalk: 5.3.0 + debug: 4.3.4(supports-color@9.4.0) + http-call: 5.3.0 + lodash.template: 4.5.0 transitivePeerDependencies: - - bluebird + - supports-color dev: true - /@npmcli/installed-package-contents@1.0.7: - resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: true - - /@npmcli/installed-package-contents@2.0.2: - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - - /@npmcli/map-workspaces@2.0.4: - resolution: {integrity: sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/name-from-folder': 1.0.1 - glob: 8.1.0 - minimatch: 5.1.6 - read-package-json-fast: 2.0.3 - dev: true - - /@npmcli/metavuln-calculator@2.0.0: - resolution: {integrity: sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - dependencies: - cacache: 15.3.0 - json-parse-even-better-errors: 2.3.1 - pacote: 12.0.3 - semver: 7.6.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /@npmcli/move-file@1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@npmcli/move-file@2.0.1: - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@npmcli/name-from-folder@1.0.1: - resolution: {integrity: sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==} - dev: true - - /@npmcli/node-gyp@1.0.3: - resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} - dev: true - - /@npmcli/node-gyp@3.0.0: - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@npmcli/package-json@1.0.1: - resolution: {integrity: sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==} - dependencies: - json-parse-even-better-errors: 2.3.1 - dev: true - - /@npmcli/promise-spawn@1.3.2: - resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} - dependencies: - infer-owner: 1.0.4 - dev: true - - /@npmcli/promise-spawn@6.0.2: - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - which: 3.0.1 - dev: true - - /@npmcli/run-script@2.0.0: - resolution: {integrity: sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==} - dependencies: - '@npmcli/node-gyp': 1.0.3 - '@npmcli/promise-spawn': 1.3.2 - node-gyp: 8.4.1 - read-package-json-fast: 2.0.3 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /@npmcli/run-script@6.0.2: - resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.4.0 - read-package-json-fast: 3.0.2 - which: 3.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/core@3.25.2: - resolution: {integrity: sha512-OkW/cNa/3DhoCz2YlSpymVe8DXqkoRaLY4SPTVqNVzR4R1dFBE5KoCtuwKwnhxYLCRCqaViPgRnB5K26f0MnjA==} - engines: {node: '>=18.0.0'} - dependencies: - '@types/cli-progress': 3.11.5 - ansi-escapes: 4.3.2 - ansi-styles: 4.3.0 - cardinal: 2.1.1 - chalk: 4.1.2 - clean-stack: 3.0.1 - cli-progress: 3.12.0 - color: 4.2.3 - debug: 4.3.4(supports-color@8.1.1) - ejs: 3.1.9 - get-package-type: 0.1.0 - globby: 11.1.0 - hyperlinker: 1.0.0 - indent-string: 4.0.0 - is-wsl: 2.2.0 - js-yaml: 3.14.1 - minimatch: 9.0.3 - natural-orderby: 2.0.3 - object-treeify: 1.1.33 - password-prompt: 1.1.3 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - supports-color: 8.1.1 - supports-hyperlinks: 2.3.0 - widest-line: 3.1.0 - wordwrap: 1.0.0 - wrap-ansi: 7.0.0 - - /@oclif/plugin-help@6.0.18: - resolution: {integrity: sha512-Ly0gu/+eq7GfIMT76cirbHgElYGlu+PaZ5elrAKmDiegBh31AXqaPQAj8PH4+sG8RSv5srYtrkrygZaw8IF9CQ==} - engines: {node: '>=18.0.0'} - dependencies: - '@oclif/core': 3.25.2 - - /@oclif/plugin-not-found@3.0.14: - resolution: {integrity: sha512-HLz04cmS+5F6Tsx1zQEoYV6wamDC/0cM2NqklPIEg8pq/JHPhktmhpzsGaRyBrtx4Pv+uNCo3s+mrTz2v5v03w==} - engines: {node: '>=18.0.0'} - dependencies: - '@oclif/core': 3.25.2 - chalk: 5.3.0 - fast-levenshtein: 3.0.0 - - /@oclif/plugin-plugins@4.3.7: - resolution: {integrity: sha512-G41UFPPpu0QbXfOiY8V9qGsTYRzmqC3OaidJZji6kuoJauzUQICRfx18C01/qP5nONE1in4QJAsRQhauvMXg6g==} - engines: {node: '>=18.0.0'} - dependencies: - '@oclif/core': 3.25.2 - chalk: 5.3.0 - debug: 4.3.4(supports-color@9.4.0) - npm: 10.5.0 - npm-run-path: 4.0.1 - semver: 7.6.0 - shelljs: 0.8.5 - validate-npm-package-name: 5.0.0 - yarn: 1.22.21 - transitivePeerDependencies: - - supports-color - dev: false - - /@oclif/plugin-warn-if-update-available@3.0.12: - resolution: {integrity: sha512-BPj+1dSgp9Xtd5BZjLF9s0PeYBl07GSF69aol6/ZUMJMWD78SUWgAAm2SMJJBXic7Lw8hIGBY/YSGXDGaMh4gw==} - engines: {node: '>=18.0.0'} - dependencies: - '@oclif/core': 3.25.2 - chalk: 5.3.0 - debug: 4.3.4(supports-color@9.4.0) - http-call: 5.3.0 - lodash.template: 4.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@octokit/auth-token@2.5.0: - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} - dependencies: - '@octokit/types': 6.41.0 - dev: true - - /@octokit/core@3.6.0: - resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} - dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0 - '@octokit/request': 5.6.3 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/endpoint@6.0.12: - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/graphql@4.8.0: - resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} - dependencies: - '@octokit/request': 5.6.3 - '@octokit/types': 6.41.0 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/openapi-types@12.11.0: - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} - dev: true - - /@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0): - resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} - peerDependencies: - '@octokit/core': '>=2' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 - dev: true - - /@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0): - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - dev: true - - /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): - resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - dev: true - - /@octokit/request-error@2.1.0: - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request@5.6.3: - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.7.0 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/rest@18.12.0: - resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} - dependencies: - '@octokit/core': 3.6.0 - '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) - '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/types@6.41.0: - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - dependencies: - '@octokit/openapi-types': 12.11.0 - dev: true - - /@open-draft/deferred-promise@2.2.0: - resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + /@open-draft/deferred-promise@2.2.0: + resolution: + { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } dev: true /@open-draft/logger@0.3.0: - resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + resolution: + { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + resolution: + { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } dev: true /@openapi-codegen/cli@2.0.0(react@17.0.2): - resolution: {integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ==} + resolution: + { integrity: sha512-LPQPZ+zj+ExyLFsEhUL8T2a4bbq28Ftqu9vZEGgAg+s8fyH7HzImvwNudaZivZ3S8uyl+7/RhPFJjZ7nPzLAaQ== } hasBin: true dependencies: - '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) - '@swc/core': 1.3.89 + '@apollo/client': 3.9.8(graphql@15.8.0)(react@17.0.2) + '@swc/core': 1.4.8 case: 1.6.3 chalk: 5.3.0 cli-highlight: 2.1.11 clipanion: 3.2.1(typanion@3.14.0) fs-extra: 10.1.0 got: 12.6.1 - got-fetch: 5.1.6(got@12.6.1) + got-fetch: 5.1.8(got@12.6.1) graphql: 15.8.0 ink: 3.2.0(react@17.0.2) js-yaml: 4.1.0 @@ -4551,7 +4665,8 @@ packages: dev: true /@openapi-codegen/typescript@8.0.0: - resolution: {integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA==} + resolution: + { integrity: sha512-TvggHOpAX2z+axjovkdyhWyJ682/EFWLP0D+Cnc3AkPPZ15qoR9Lb4mE1HMOa/CQWpWODKJvwuN/50ey5HLLUA== } dependencies: case: 1.6.3 lodash: 4.17.21 @@ -4563,19 +4678,22 @@ packages: dev: true /@opentelemetry/api-logs@0.49.1: - resolution: {integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-kaNl/T7WzyMUQHQlVq7q0oV4Kev6+0xFwqzofryC66jgGMacd0QH5TwfpbUwSTby+SdAdprAe5UKMvBw4tKS5Q== } + engines: { node: '>=14' } dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } + engines: { node: '>=8.0.0' } /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4583,8 +4701,9 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Nfdxyg8YtWqVWkyrCukkundAjPhUXi93JtVQmqDT1mZRVKqA7e2r7eJCrI+F651XUBMp0hsOJSGiFk3QSpaIJw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4592,8 +4711,9 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4601,19 +4721,10 @@ packages: '@opentelemetry/semantic-conventions': 1.10.1 dev: false - /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/semantic-conventions': 1.18.1 - dev: false - /@opentelemetry/core@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-0VoAlT6x+Xzik1v9goJ3pZ2ppi6+xd3aUfg4brfrLkDBHRIVjMP0eBHrKrhB+NKcDyMAg8fAbGL3Npg/F6AwWA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4621,8 +4732,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4634,12 +4746,13 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/exporter-metrics-otlp-http': 0.36.1(@opentelemetry/api@1.8.0) @@ -4650,8 +4763,9 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4664,8 +4778,9 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4680,12 +4795,13 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-grpc-exporter-base': 0.36.1(@opentelemetry/api@1.8.0) @@ -4695,12 +4811,13 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Zbd7f3zF7fI2587MVhBizaW21cO/SordyrZGtMtvhoxU6n4Qb02Gx71X4+PzXH620e0+JX+Pcr9bYb1HTeVyJA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-grpc-exporter-base': 0.49.1(@opentelemetry/api@1.8.0) @@ -4710,8 +4827,9 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4724,8 +4842,9 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4739,8 +4858,9 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4752,8 +4872,9 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -4766,16 +4887,17 @@ packages: dev: false /@opentelemetry/instrumentation@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-0DLtWtaIppuNNRRllSD4bjU8ZIiLp1cDXvJEbp752/Zf+y3gaLNaoGRGIlX4UHhcsrmtL+P2qxi3Hodi8VuKiQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/api-logs': 0.49.1 - '@types/shimmer': 1.0.3 + '@types/shimmer': 1.0.5 import-in-the-middle: 1.7.1 - require-in-the-middle: 7.2.0 + require-in-the-middle: 7.2.1 semver: 7.6.0 shimmer: 1.2.1 transitivePeerDependencies: @@ -4783,8 +4905,9 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4793,8 +4916,9 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-z6sHliPqDgJU45kQatAettY9/eVF58qVPaTuejw9YWfSRqid9pXPYeegDCSdyS47KAUgAtm+nC28K3pfF27HWg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -4803,12 +4927,13 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@grpc/proto-loader': 0.7.10 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) @@ -4816,33 +4941,36 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-DNDNUWmOqtKTFJAyOyHHKotVox0NQ/09ETX8fUOeEtyNVHoGekAVtBbvIA3AtK+JflP7LC0PTjlLfruPM3Wy6w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.9.3 + '@grpc/grpc-js': 1.10.3 '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.49.1(@opentelemetry/api@1.8.0) - protobufjs: 7.2.5 + protobufjs: 7.2.6 dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: '@opentelemetry/api': 1.8.0 '@opentelemetry/core': 1.10.1(@opentelemetry/api@1.8.0) '@opentelemetry/otlp-exporter-base': 0.36.1(@opentelemetry/api@1.8.0) - protobufjs: 7.2.5 + protobufjs: 7.2.6 dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -4854,8 +4982,9 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.49.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-Z+koA4wp9L9e3jkFacyXTGphSWTbOKjwwXMpb0CxNb0kjTHGUxhYRN8GnkLFsFo5NbZPjP07hwAqeEG/uCratQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -4869,8 +4998,9 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4879,8 +5009,9 @@ packages: dev: false /@opentelemetry/propagator-b3@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qBItJm9ygg/jCB5rmivyGz1qmKZPsL/sX715JqPMFgq++Idm0x+N9sLQvWFHFt2+ZINnCSojw7FVBgFW6izcXA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4889,8 +5020,9 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4899,8 +5031,9 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pMLgst3QIwrUfepraH5WG7xfpJ8J3CrPKrtINK0t7kBkuu96rn+HDYQ8kt3+0FXvrZI8YJE77MCQwnJWXIrgpA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4909,8 +5042,9 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -4919,20 +5053,10 @@ packages: '@opentelemetry/semantic-conventions': 1.10.1 dev: false - /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.18.1(@opentelemetry/api@1.8.0) - '@opentelemetry/semantic-conventions': 1.18.1 - dev: false - /@opentelemetry/resources@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-+vNeIFPH2hfcNL0AJk/ykJXoUCtR1YaDUZM+p3wZNU4Hq98gzq+7b43xbkXjadD9VhWIUQqEwXyY64q6msPj6A== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -4941,8 +5065,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-logs@0.49.1(@opentelemetry/api-logs@0.49.1)(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gCzYWsJE0h+3cuh3/cK+9UwlVFyHvj3PReIOCDOmdeXOp90ZjKRoDOJBc3mvk1LL6wyl1RWIivR8Rg9OToyesw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -4954,8 +5079,9 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -4965,21 +5091,10 @@ packages: lodash.merge: 4.6.2 dev: false - /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.8.0 - '@opentelemetry/core': 1.18.1(@opentelemetry/api@1.8.0) - '@opentelemetry/resources': 1.18.1(@opentelemetry/api@1.8.0) - lodash.merge: 4.6.2 - dev: false - /@opentelemetry/sdk-metrics@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-k6iIx6H3TZ+BVMr2z8M16ri2OxWaljg5h8ihGJxi/KQWcjign6FEaEzuigXt5bK9wVEhqAcWLCfarSftaNWkkg== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -4987,11 +5102,11 @@ packages: '@opentelemetry/core': 1.22.0(@opentelemetry/api@1.8.0) '@opentelemetry/resources': 1.22.0(@opentelemetry/api@1.8.0) lodash.merge: 4.6.2 - dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5013,8 +5128,9 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5025,8 +5141,9 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-pfTuSIpCKONC6vkTpv6VmACxD+P1woZf4q0K46nSUvXFvOFqjBYKFaAMkKD3M1mlKUUh0Oajwj35qNjMl80m1Q== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5036,8 +5153,9 @@ packages: '@opentelemetry/semantic-conventions': 1.22.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5051,8 +5169,9 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.22.0(@opentelemetry/api@1.8.0): - resolution: {integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-gTGquNz7ue8uMeiWPwp3CU321OstQ84r7PCDtOaCicjbJxzvO8RZMlEC4geOipTeiF88kss5n6w+//A0MhP1lQ== } + engines: { node: '>=14' } peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5066,70 +5185,80 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} - engines: {node: '>=14'} - dev: false - - /@opentelemetry/semantic-conventions@1.18.1: - resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } + engines: { node: '>=14' } dev: false /@opentelemetry/semantic-conventions@1.22.0: - resolution: {integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-CAOgFOKLybd02uj/GhCdEeeBjOS0yeoDeo/CA7ASBSmenpZHAKGB3iDm/rv3BQLcabb/OprDEsSQ1y0P8A7Siw== } + engines: { node: '>=14' } /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } + engines: { node: '>=14' } requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + resolution: + { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + resolution: + { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + resolution: + { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + resolution: + { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + resolution: + { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + resolution: + { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + resolution: + { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + resolution: + { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + resolution: + { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + resolution: + { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + resolution: + { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } + engines: { node: '>= 8.0.0' } dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.0.5(rollup@4.13.0): - resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} - engines: {node: '>=14.0.0'} + /@rollup/pluginutils@5.1.0(rollup@4.13.0): + resolution: + { integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== } + engines: { node: '>=14.0.0' } peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5143,7 +5272,8 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + resolution: + { integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg== } cpu: [arm] os: [android] requiresBuild: true @@ -5151,7 +5281,8 @@ packages: optional: true /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + resolution: + { integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q== } cpu: [arm64] os: [android] requiresBuild: true @@ -5159,7 +5290,8 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + resolution: + { integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g== } cpu: [arm64] os: [darwin] requiresBuild: true @@ -5167,7 +5299,8 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + resolution: + { integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg== } cpu: [x64] os: [darwin] requiresBuild: true @@ -5175,7 +5308,8 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + resolution: + { integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ== } cpu: [arm] os: [linux] requiresBuild: true @@ -5183,7 +5317,8 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + resolution: + { integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w== } cpu: [arm64] os: [linux] requiresBuild: true @@ -5191,7 +5326,8 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + resolution: + { integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw== } cpu: [arm64] os: [linux] requiresBuild: true @@ -5199,7 +5335,8 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + resolution: + { integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA== } cpu: [riscv64] os: [linux] requiresBuild: true @@ -5207,7 +5344,8 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + resolution: + { integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA== } cpu: [x64] os: [linux] requiresBuild: true @@ -5215,7 +5353,8 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + resolution: + { integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw== } cpu: [x64] os: [linux] requiresBuild: true @@ -5223,7 +5362,8 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + resolution: + { integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA== } cpu: [arm64] os: [win32] requiresBuild: true @@ -5231,7 +5371,8 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + resolution: + { integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw== } cpu: [ia32] os: [win32] requiresBuild: true @@ -5239,133 +5380,108 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + resolution: + { integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw== } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@sigstore/bundle@1.1.0: - resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - dev: true - - /@sigstore/protobuf-specs@0.2.1: - resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@sigstore/sign@1.0.0: - resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 1.1.0 - '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@sigstore/tuf@1.0.3: - resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 1.1.7 - transitivePeerDependencies: - - supports-color - dev: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@sindresorhus/is@4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } dev: true /@sindresorhus/is@5.6.0: - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } + engines: { node: '>=14.16' } /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } + engines: { node: '>=18' } dev: true /@sindresorhus/slugify@2.2.1: - resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } + engines: { node: '>=12' } dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 dev: false - /@size-limit/esbuild@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-+lWZbLc0X3c8uh6wdYv/5CGn58x1IgYAhCLQXvojxgn/j3TP72H2EigXLMcDXOgN3aps44yV3Qb2HIJppE+jYw==} - engines: {node: ^18.0.0 || >=20.0.0} + /@size-limit/esbuild@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } + engines: { node: ^18.0.0 || >=20.0.0 } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: esbuild: 0.20.2 nanoid: 5.0.6 - size-limit: 11.1.1 + size-limit: 11.1.2 dev: true - /@size-limit/file@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-c4XXp2CLvfx2RfzAqIAlxV6OWAQSVquLMNKKD6x9urJD7knjnTesPkbMcf3SkQbjCY4PlLL6kYhaO9drCWGM6g==} - engines: {node: ^18.0.0 || >=20.0.0} + /@size-limit/file@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } + engines: { node: ^18.0.0 || >=20.0.0 } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dev: true - /@size-limit/preset-small-lib@11.1.1(size-limit@11.1.1): - resolution: {integrity: sha512-GW3T//znZXnk+a0VxkP241GCYZUn/RDr8Pn8p6pjdFqQy3PFrKiMq2QHyJLtGT/eRoYHL8e32mkNciQtQjZ4sQ==} + /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): + resolution: + { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } peerDependencies: - size-limit: 11.1.1 + size-limit: 11.1.2 dependencies: - '@size-limit/esbuild': 11.1.1(size-limit@11.1.1) - '@size-limit/file': 11.1.1(size-limit@11.1.1) - size-limit: 11.1.1 + '@size-limit/esbuild': 11.1.2(size-limit@11.1.2) + '@size-limit/file': 11.1.2(size-limit@11.1.2) + size-limit: 11.1.2 dev: true /@smithy/abort-controller@2.2.0: - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + resolution: + { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + resolution: + { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5375,8 +5491,9 @@ packages: dev: true /@smithy/core@1.4.0: - resolution: {integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-retry': 2.2.0 @@ -5389,8 +5506,9 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5400,7 +5518,8 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + resolution: + { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5409,8 +5528,9 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5418,16 +5538,18 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5435,8 +5557,9 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5444,7 +5567,8 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + resolution: + { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -5454,7 +5578,8 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + resolution: + { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -5463,8 +5588,9 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -5473,8 +5599,9 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5482,21 +5609,24 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + resolution: + { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + resolution: + { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5504,8 +5634,9 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -5513,8 +5644,9 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.0: - resolution: {integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -5526,8 +5658,9 @@ packages: dev: true /@smithy/middleware-retry@2.2.0: - resolution: {integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -5541,24 +5674,27 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -5567,8 +5703,9 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -5578,24 +5715,27 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -5603,31 +5743,35 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.2.0: - resolution: {integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/is-array-buffer': 2.2.0 @@ -5640,8 +5784,9 @@ packages: dev: true /@smithy/smithy-client@2.5.0: - resolution: {integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.0 '@smithy/middleware-stack': 2.2.0 @@ -5652,14 +5797,16 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + resolution: + { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -5667,8 +5814,9 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -5676,36 +5824,41 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + resolution: + { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.0: - resolution: {integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g== } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.0 @@ -5715,8 +5868,9 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.0: - resolution: {integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==} - engines: {node: '>= 10.0.0'} + resolution: + { integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw== } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -5728,8 +5882,9 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5737,23 +5892,26 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -5761,8 +5919,9 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -5775,122 +5934,136 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@swc/core-darwin-arm64@1.3.89: - resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} - engines: {node: '>=10'} + /@swc/core-darwin-arm64@1.4.8: + resolution: + { integrity: sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ== } + engines: { node: '>=10' } cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@swc/core-darwin-x64@1.3.89: - resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} - engines: {node: '>=10'} + /@swc/core-darwin-x64@1.4.8: + resolution: + { integrity: sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ== } + engines: { node: '>=10' } cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} - engines: {node: '>=10'} + /@swc/core-linux-arm-gnueabihf@1.4.8: + resolution: + { integrity: sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA== } + engines: { node: '>=10' } cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.89: - resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} - engines: {node: '>=10'} + /@swc/core-linux-arm64-gnu@1.4.8: + resolution: + { integrity: sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ== } + engines: { node: '>=10' } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.89: - resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} - engines: {node: '>=10'} + /@swc/core-linux-arm64-musl@1.4.8: + resolution: + { integrity: sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w== } + engines: { node: '>=10' } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.89: - resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} - engines: {node: '>=10'} + /@swc/core-linux-x64-gnu@1.4.8: + resolution: + { integrity: sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w== } + engines: { node: '>=10' } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-linux-x64-musl@1.3.89: - resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} - engines: {node: '>=10'} + /@swc/core-linux-x64-musl@1.4.8: + resolution: + { integrity: sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q== } + engines: { node: '>=10' } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.89: - resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} - engines: {node: '>=10'} + /@swc/core-win32-arm64-msvc@1.4.8: + resolution: + { integrity: sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA== } + engines: { node: '>=10' } cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.89: - resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} - engines: {node: '>=10'} + /@swc/core-win32-ia32-msvc@1.4.8: + resolution: + { integrity: sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw== } + engines: { node: '>=10' } cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.89: - resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} - engines: {node: '>=10'} + /@swc/core-win32-x64-msvc@1.4.8: + resolution: + { integrity: sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg== } + engines: { node: '>=10' } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@swc/core@1.3.89: - resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} - engines: {node: '>=10'} + /@swc/core@1.4.8: + resolution: + { integrity: sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg== } + engines: { node: '>=10' } requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -5898,48 +6071,48 @@ packages: '@swc/helpers': optional: true dependencies: - '@swc/counter': 0.1.1 - '@swc/types': 0.1.5 + '@swc/counter': 0.1.3 + '@swc/types': 0.1.6 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.89 - '@swc/core-darwin-x64': 1.3.89 - '@swc/core-linux-arm-gnueabihf': 1.3.89 - '@swc/core-linux-arm64-gnu': 1.3.89 - '@swc/core-linux-arm64-musl': 1.3.89 - '@swc/core-linux-x64-gnu': 1.3.89 - '@swc/core-linux-x64-musl': 1.3.89 - '@swc/core-win32-arm64-msvc': 1.3.89 - '@swc/core-win32-ia32-msvc': 1.3.89 - '@swc/core-win32-x64-msvc': 1.3.89 + '@swc/core-darwin-arm64': 1.4.8 + '@swc/core-darwin-x64': 1.4.8 + '@swc/core-linux-arm-gnueabihf': 1.4.8 + '@swc/core-linux-arm64-gnu': 1.4.8 + '@swc/core-linux-arm64-musl': 1.4.8 + '@swc/core-linux-x64-gnu': 1.4.8 + '@swc/core-linux-x64-musl': 1.4.8 + '@swc/core-win32-arm64-msvc': 1.4.8 + '@swc/core-win32-ia32-msvc': 1.4.8 + '@swc/core-win32-x64-msvc': 1.4.8 dev: true - /@swc/counter@0.1.1: - resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} + /@swc/counter@0.1.3: + resolution: + { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== } dev: true - /@swc/types@0.1.5: - resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} - dev: true - - /@szmarczak/http-timer@4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + /@swc/types@0.1.6: + resolution: + { integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== } dependencies: - defer-to-connect: 2.0.1 + '@swc/counter': 0.1.3 dev: true /@szmarczak/http-timer@5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } + engines: { node: '>=14.16' } dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} + resolution: + { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} + resolution: + { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -5948,24 +6121,15 @@ packages: remark-frontmatter: 3.0.0 remark-gfm: 1.0.0 remark-parse: 9.0.0 - traverse: 0.6.7 + traverse: 0.6.8 unified: 9.2.2 transitivePeerDependencies: - supports-color dev: true - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: true - - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true - /@ts-morph/common@0.23.0: - resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} + resolution: + { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } dependencies: fast-glob: 3.3.2 minimatch: 9.0.3 @@ -5973,294 +6137,299 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + resolution: + { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + resolution: + { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + resolution: + { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - /@tufjs/canonical-json@1.0.0: - resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /@tufjs/models@1.0.4: - resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 1.0.0 - minimatch: 9.0.3 - dev: true + resolution: + { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + resolution: + { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } dependencies: - '@babel/parser': 7.23.3 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - '@types/babel__generator': 7.6.5 - '@types/babel__template': 7.4.2 - '@types/babel__traverse': 7.20.2 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 dev: true - /@types/babel__generator@7.6.5: - resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} + /@types/babel__generator@7.6.8: + resolution: + { integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== } dependencies: '@babel/types': 7.24.0 dev: true - /@types/babel__template@7.4.2: - resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} + /@types/babel__template@7.4.4: + resolution: + { integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== } dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true - /@types/babel__traverse@7.20.2: - resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} + /@types/babel__traverse@7.20.5: + resolution: + { integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== } dependencies: '@babel/types': 7.24.0 dev: true - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - dependencies: - '@types/http-cache-semantics': 4.0.2 - '@types/keyv': 3.1.4 - '@types/node': 20.11.29 - '@types/responselike': 1.0.0 - dev: true - /@types/cli-progress@3.11.5: - resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} + resolution: + { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 /@types/cookie@0.6.0: - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + resolution: + { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } dev: true /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + resolution: + { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } dev: true - /@types/expect@1.20.4: - resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} - dev: true - - /@types/http-cache-semantics@4.0.2: - resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} + /@types/http-cache-semantics@4.0.4: + resolution: + { integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== } /@types/ini@4.1.0: - resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} + resolution: + { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + dev: false + + /@types/inquirer@9.0.7: + resolution: + { integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g== } + dependencies: + '@types/through': 0.0.33 + rxjs: 7.8.1 dev: false - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== } dev: false - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: + { integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== } dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: false - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: + { integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== } dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 dev: false - /@types/json-schema@7.0.13: - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + /@types/json-schema@7.0.15: + resolution: + { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } dev: true /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 20.11.29 + resolution: + { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } dev: true /@types/lodash.chunk@4.2.9: - resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} + resolution: + { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.compact@3.0.9: - resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} + resolution: + { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.get@4.4.9: - resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} + resolution: + { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.pick@4.4.9: - resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} + resolution: + { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true /@types/lodash.set@4.3.9: - resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} + resolution: + { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } dependencies: - '@types/lodash': 4.14.199 + '@types/lodash': 4.17.0 dev: true - /@types/lodash@4.14.199: - resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} + /@types/lodash@4.17.0: + resolution: + { integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== } dev: true - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + /@types/mdast@3.0.15: + resolution: + { integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== } dependencies: - '@types/unist': 2.0.8 - dev: true - - /@types/minimatch@3.0.5: - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + '@types/unist': 2.0.10 dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/minimist@1.2.5: + resolution: + { integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== } dev: true /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + resolution: + { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } dependencies: - '@types/node': 20.11.29 - dev: true + '@types/node': 20.11.30 /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + resolution: + { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } dev: true - /@types/node@15.14.9: - resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} - dev: true - - /@types/node@20.11.29: - resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} + /@types/node@20.11.30: + resolution: + { integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== } dependencies: undici-types: 5.26.5 - /@types/normalize-package-data@2.4.2: - resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + /@types/normalize-package-data@2.4.4: + resolution: + { integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== } /@types/papaparse@5.3.14: - resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} + resolution: + { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 dev: true - /@types/pg@8.11.3: - resolution: {integrity: sha512-xocw4LvpDcj/Ta7bN52tLZm34mso5SZ0Q8fVC0UtD8s85Itip3YHvBeYZhBmC0OThpdOujHsxXtRbEIRxqXPXg==} + /@types/pg@8.11.4: + resolution: + { integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 pg-protocol: 1.6.0 pg-types: 4.0.2 dev: true /@types/pluralize@0.0.33: - resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} + resolution: + { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } dev: true /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + resolution: + { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } dev: true /@types/prompts@2.4.9: - resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} + resolution: + { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} - dev: true - - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 20.11.29 + resolution: + { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } dev: true /@types/retry@0.12.1: - resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} + resolution: + { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } dev: false - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + resolution: + { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } - /@types/shimmer@1.0.3: - resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} + /@types/shimmer@1.0.5: + resolution: + { integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww== } dev: true - /@types/statuses@2.0.4: - resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} + /@types/statuses@2.0.5: + resolution: + { integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A== } dev: true /@types/text-table@0.2.5: - resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} + resolution: + { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } dev: true - /@types/tmp@0.2.6: - resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} - dev: true + /@types/through@0.0.33: + resolution: + { integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ== } + dependencies: + '@types/node': 20.11.30 + dev: false - /@types/unist@2.0.8: - resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} + /@types/tmp@0.2.6: + resolution: + { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } dev: true - /@types/vinyl@2.0.7: - resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} - dependencies: - '@types/expect': 1.20.4 - '@types/node': 20.11.29 + /@types/unist@2.0.10: + resolution: + { integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== } dev: true /@types/which@3.0.3: - resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} + resolution: + { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } dev: true /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: true + resolution: + { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } - /@types/yargs-parser@21.0.1: - resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} + /@types/yargs-parser@21.0.3: + resolution: + { integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== } dev: false - /@types/yargs@16.0.6: - resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} + /@types/yargs@16.0.9: + resolution: + { integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== } dependencies: - '@types/yargs-parser': 21.0.1 + '@types/yargs-parser': 21.0.3 dev: false /@types/yoga-layout@1.9.2: - resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} + resolution: + { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6269,27 +6438,28 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.2 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6298,27 +6468,28 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.2 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6328,18 +6499,19 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6349,34 +6521,37 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.3.1: - resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag== } + engines: { node: ^18.18.0 || >=20.0.0 } dependencies: '@typescript-eslint/types': 7.3.1 '@typescript-eslint/visitor-keys': 7.3.1 dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6384,19 +6559,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6404,34 +6580,38 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@9.4.0) eslint: 8.57.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: false /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } + engines: { node: ^16.0.0 || >=18.0.0 } dev: true /@typescript-eslint/types@7.3.1: - resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw== } + engines: { node: ^18.18.0 || >=20.0.0 } dev: true - /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.2): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.3): + resolution: + { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6444,15 +6624,16 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.2) - typescript: 5.4.2 + tsutils: 3.21.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.3): + resolution: + { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6466,15 +6647,16 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.2): - resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): + resolution: + { integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6488,24 +6670,25 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -6513,18 +6696,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ== } + engines: { node: ^18.18.0 || >=20.0.0 } peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -6533,48 +6717,53 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.3.1: - resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} - engines: {node: ^18.18.0 || >=20.0.0} + resolution: + { integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw== } + engines: { node: ^18.18.0 || >=20.0.0 } dependencies: '@typescript-eslint/types': 7.3.1 eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + resolution: + { integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== } dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } + engines: { node: '>=14' } hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) '@rollup/pluginutils': 4.2.1 - acorn: 8.10.0 + acorn: 8.11.3 async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.5 - node-gyp-build: 4.6.1 + node-gyp-build: 4.8.0 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -6582,37 +6771,42 @@ packages: dev: false /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + resolution: + { integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA== } dependencies: '@vitest/spy': 1.4.0 '@vitest/utils': 1.4.0 - chai: 4.3.10 + chai: 4.4.1 dev: true /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + resolution: + { integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg== } dependencies: '@vitest/utils': 1.4.0 p-limit: 5.0.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + resolution: + { integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A== } dependencies: - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 pretty-format: 29.7.0 dev: true /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + resolution: + { integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q== } dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 dev: true /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + resolution: + { integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg== } dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -6620,112 +6814,116 @@ packages: pretty-format: 29.7.0 dev: true - /@wry/context@0.7.3: - resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} - engines: {node: '>=8'} + /@wry/caches@1.0.1: + resolution: + { integrity: sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /@wry/equality@0.5.6: - resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} - engines: {node: '>=8'} + /@wry/context@0.7.4: + resolution: + { integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /@wry/trie@0.4.3: - resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} - engines: {node: '>=8'} + /@wry/equality@0.5.7: + resolution: + { integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + /@wry/trie@0.4.3: + resolution: + { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } + engines: { node: '>=8' } + dependencies: + tslib: 2.6.2 + dev: true - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + /@wry/trie@0.5.0: + resolution: + { integrity: sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== } + engines: { node: '>=8' } dependencies: - event-target-shim: 5.0.1 + tslib: 2.6.2 dev: true + /abbrev@1.1.1: + resolution: + { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + dev: false + /abstract-leveldown@0.12.4: - resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} + resolution: + { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } dependencies: xtend: 3.0.0 dev: true - /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + /acorn-import-assertions@1.9.0(acorn@8.11.3): + resolution: + { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } peerDependencies: acorn: ^8 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + resolution: + { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } + engines: { node: '>=0.4.0' } /acorn@5.7.4: - resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } + engines: { node: '>=0.4.0' } hasBin: true dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} + /acorn@8.11.3: + resolution: + { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } + engines: { node: '>=0.4.0' } hasBin: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + resolution: + { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } + engines: { node: '>= 6.0.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color + dev: false - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} + /aggregate-error@4.0.1: + resolution: + { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } + engines: { node: '>=12' } dependencies: - humanize-ms: 1.2.1 - dev: true - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - - /aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} - dependencies: - clean-stack: 4.2.0 - indent-string: 5.0.0 - dev: false + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} + resolution: + { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } peerDependencies: ajv: ^8.0.1 dependencies: @@ -6733,7 +6931,8 @@ packages: dev: false /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -6742,7 +6941,8 @@ packages: dev: true /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + resolution: + { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -6751,92 +6951,111 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} + resolution: + { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} + resolution: + { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } dev: false /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } + engines: { node: '>=6' } /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } + engines: { node: '>=8' } dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } + engines: { node: '>=12' } dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } + engines: { node: '>=14.16' } dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: '>=8' } /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } + engines: { node: '>=12' } /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } + engines: { node: '>=4' } dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: '>=8' } dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } + engines: { node: '>=10' } /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } + engines: { node: '>=12' } dev: true /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + resolution: + { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } /any-date-parser@1.5.4: - resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} + resolution: + { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } dev: false /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + resolution: + { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } dev: true /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } + engines: { node: '>= 8' } dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + resolution: + { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + dev: false /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } + engines: { node: '>= 6' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -6851,8 +7070,9 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } + engines: { node: '>= 10' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -6867,8 +7087,9 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} - engines: {node: '>= 12.0.0'} + resolution: + { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } + engines: { node: '>= 12.0.0' } dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -6879,11 +7100,12 @@ packages: dev: false /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } + engines: { node: '>= 10' } dependencies: archiver-utils: 2.1.0 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 @@ -6891,260 +7113,282 @@ packages: zip-stream: 4.1.1 dev: false - /archiver@6.0.1: - resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} - engines: {node: '>= 12.0.0'} + /archiver@6.0.2: + resolution: + { integrity: sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw== } + engines: { node: '>= 12.0.0' } dependencies: archiver-utils: 4.0.1 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 - tar-stream: 3.1.6 - zip-stream: 5.0.1 + tar-stream: 3.1.7 + zip-stream: 5.0.2 dev: false /are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } + engines: { node: '>=10' } dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: true + dev: false /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + resolution: + { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: + { integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - - /array-differ@3.0.0: - resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} - engines: {node: '>=8'} + call-bind: 1.0.7 + is-array-buffer: 3.0.4 dev: true - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} + /array-includes@3.1.8: + resolution: + { integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } + engines: { node: '>=8' } - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} + /array.prototype.findlastindex@1.2.5: + resolution: + { integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 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 dev: true /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + /arraybuffer.prototype.slice@1.0.3: + resolution: + { integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== } + engines: { node: '>= 0.4' } dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 dev: true /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true - - /arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } + engines: { node: '>=0.10.0' } dev: true /arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } + engines: { node: '>=12' } dev: false - /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true - - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + /asn1.js@4.10.1: + resolution: + { integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== } dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 - safer-buffer: 2.1.2 dev: true /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + resolution: + { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } dev: true /ast-module-types@5.0.0: - resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } + engines: { node: '>=14' } dev: false /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } + engines: { node: '>=8' } /async-listen@3.0.1: - resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } + engines: { node: '>= 14' } dev: false /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + resolution: + { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + resolution: + { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } dev: false - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.5: + resolution: + { integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== } /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } dev: false /auto-bind@4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } + engines: { node: '>=8' } dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + /available-typed-arrays@1.0.7: + resolution: + { integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== } + engines: { node: '>= 0.4' } + dependencies: + possible-typed-array-names: 1.0.0 dev: true - /axios@1.5.0: - resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} + /axios@1.6.8: + resolution: + { integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== } dependencies: - follow-redirects: 1.15.3 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + /b4a@1.6.6: + resolution: + { integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== } dev: false - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + resolution: + { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + resolution: + { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) - core-js-compat: 3.35.0 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + resolution: + { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) transitivePeerDependencies: - supports-color dev: true /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + resolution: + { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } dev: true /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /bare-events@2.2.2: + resolution: + { integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== } + requiresBuild: true + dev: false + optional: true - /before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - dev: true + /base64-js@1.5.1: + resolution: + { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} - engines: {node: '>= 12.13.0'} + resolution: + { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } + engines: { node: '>= 12.13.0' } peerDependencies: ajv: 4.11.8 - 8 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@humanwhocodes/momoa': 2.0.4 ajv: 8.12.0 chalk: 4.1.2 @@ -7153,94 +7397,92 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } + engines: { node: '>=4' } dependencies: is-windows: 1.0.2 dev: true - /bin-links@3.0.3: - resolution: {integrity: sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - cmd-shim: 5.0.0 - mkdirp-infer-owner: 2.0.0 - npm-normalize-package-bin: 2.0.0 - read-cmd-shim: 3.0.1 - rimraf: 3.0.2 - write-file-atomic: 4.0.2 - dev: true - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /binaryextensions@4.18.0: - resolution: {integrity: sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==} - engines: {node: '>=0.8'} + /binary-extensions@2.3.0: + resolution: + { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== } + engines: { node: '>=8' } dev: true /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + resolution: + { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} + resolution: + { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + dev: false /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + resolution: + { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } dev: true /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + resolution: + { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } dev: true /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + resolution: + { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } dev: true /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } + engines: { node: '>=8' } dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + resolution: + { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + resolution: + { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } dev: true /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + resolution: + { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7251,7 +7493,8 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + resolution: + { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7259,7 +7502,8 @@ packages: dev: true /browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + resolution: + { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7268,7 +7512,8 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} + resolution: + { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7276,73 +7521,79 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + resolution: + { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true - /browserify-sign@4.2.1: - resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + /browserify-sign@4.2.3: + resolution: + { integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== } + engines: { node: '>= 0.12' } dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 create-hash: 1.2.0 create-hmac: 1.1.7 - elliptic: 6.5.4 + elliptic: 6.5.5 + hash-base: 3.0.4 inherits: 2.0.4 - parse-asn1: 5.1.6 - readable-stream: 3.6.2 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 safe-buffer: 5.2.1 dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + /browserslist@4.23.0: + resolution: + { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001570 - electron-to-chromium: 1.4.614 + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.715 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } dev: false /buffer-es6@4.9.3: - resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} + resolution: + { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } dev: true /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } dev: true /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== } + engines: { node: '>=4' } dev: true /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + resolution: + { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } dev: true /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + resolution: + { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true + dev: false - /bufrw@1.3.0: - resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} - engines: {node: '>= 0.10.x'} + /bufrw@1.4.0: + resolution: + { integrity: sha512-sWm8iPbqvL9+5SiYxXH73UOkyEbGQg7kyHQmReF89WJHQJw2eV4P/yZ0E+b71cczJ4pPobVhXxgQcmfSTgGHxQ== } + engines: { node: '>= 0.10.x' } dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7351,174 +7602,100 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - /builtins@1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - dev: true + resolution: + { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } + engines: { node: '>=6' } /builtins@2.0.1: - resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} + resolution: + { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + resolution: + { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } + engines: { node: '>=18' } dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } + engines: { node: '>=0.10.0' } dev: false /bytes-iec@3.1.1: - resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } + engines: { node: '>= 0.8' } dev: true /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /cacache@15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.2.0 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@17.1.4: - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.8 - lru-cache: 7.18.3 - minipass: 7.0.3 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 - unique-filename: 3.0.0 - dev: true - - /cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + resolution: + { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } + engines: { node: '>=8' } dev: true /cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } + engines: { node: '>=14.16' } - /cacheable-request@10.2.13: - resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} - engines: {node: '>=14.16'} + /cacheable-request@10.2.14: + resolution: + { integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== } + engines: { node: '>=14.16' } dependencies: - '@types/http-cache-semantics': 4.0.2 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.3 + keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.0.1 responselike: 3.0.0 - /cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.3 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: true - - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.7: + resolution: + { integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== } + engines: { node: '>= 0.4' } dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 /call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + resolution: + { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } dev: true /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } + engines: { node: '>=6' } /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + resolution: + { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } + engines: { node: '>=8' } dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -7526,20 +7703,24 @@ packages: dev: true /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } + engines: { node: '>=6' } dev: true /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } + engines: { node: '>=10' } dev: false - /caniuse-lite@1.0.30001570: - resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} + /caniuse-lite@1.0.30001600: + resolution: + { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + resolution: + { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -7547,23 +7728,27 @@ packages: dev: true /cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + resolution: + { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } + engines: { node: '>= 0.8.0' } /ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + resolution: + { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } dev: true - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} - engines: {node: '>=4'} + /chai@4.4.1: + resolution: + { integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== } + engines: { node: '>=4' } dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -7575,26 +7760,30 @@ packages: dev: true /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } + engines: { node: '>=4' } dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + resolution: + { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -7611,30 +7800,35 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + resolution: + { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } dev: true /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + resolution: + { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } dev: true /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + resolution: + { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } dev: true /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + resolution: + { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + resolution: + { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + resolution: + { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -7648,76 +7842,83 @@ packages: dev: true /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } + engines: { node: '>=10' } + dev: false /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + resolution: + { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} + /ci-info@3.9.0: + resolution: + { integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== } + engines: { node: '>=8' } dev: true /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + resolution: + { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + resolution: + { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } dev: true /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } + engines: { node: '>=4' } dependencies: escape-string-regexp: 1.0.5 dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true - /clean-stack@3.0.1: - resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } + engines: { node: '>=10' } dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } + engines: { node: '>=6' } dev: true /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } + engines: { node: '>=8' } dependencies: restore-cursor: 3.1.0 - dev: true /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} + resolution: + { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } + engines: { node: '>=8.0.0', npm: '>=5.0.0' } hasBin: true dependencies: chalk: 4.1.2 @@ -7729,51 +7930,43 @@ packages: dev: true /cli-progress@3.12.0: - resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } + engines: { node: '>=4' } dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: true - - /cli-table@0.3.11: - resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} - engines: {node: '>= 0.2.0'} - dependencies: - colors: 1.0.3 - dev: true + resolution: + { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } + engines: { node: '>=6' } /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } + engines: { node: '>=8' } dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } + engines: { node: '>=18' } dependencies: slice-ansi: 5.0.0 - string-width: 7.0.0 - dev: true - - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} + string-width: 7.1.0 dev: true /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: true + resolution: + { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } + engines: { node: '>= 12' } /clipanion@3.2.1(typanion@3.14.0): - resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} + resolution: + { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } peerDependencies: typanion: '*' dependencies: @@ -7781,7 +7974,8 @@ packages: dev: true /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + resolution: + { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -7789,7 +7983,8 @@ packages: dev: true /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + resolution: + { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -7797,108 +7992,87 @@ packages: dev: true /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } + engines: { node: '>=12' } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /clone-buffer@1.0.0: - resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} - engines: {node: '>= 0.10'} - dev: true - - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - - /clone-stats@1.0.0: - resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} - dev: true - /clone@0.1.19: - resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} + resolution: + { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } dev: true /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - dev: true - - /cloneable-readable@1.1.3: - resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} - dependencies: - inherits: 2.0.4 - process-nextick-args: 2.0.1 - readable-stream: 2.3.8 - dev: true - - /cmd-shim@5.0.0: - resolution: {integrity: sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - mkdirp-infer-owner: 2.0.0 - dev: true + resolution: + { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } + engines: { node: '>=0.8' } /code-block-writer@13.0.1: - resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} + resolution: + { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } /code-excerpt@3.0.0: - resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } + engines: { node: '>=10' } dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: '>=7.0.0' } dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + resolution: + { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + resolution: + { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + resolution: + { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } hasBin: true + dev: false /color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} + resolution: + { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } + engines: { node: '>=12.5.0' } dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + resolution: + { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } dev: true /colors-option@3.0.0: - resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } + engines: { node: '>=12.20.0' } dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -7906,52 +8080,40 @@ packages: jest-validate: 27.5.1 dev: false - /colors@1.0.3: - resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} - engines: {node: '>=0.1.90'} - dev: true - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } + engines: { node: '>= 0.8' } dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } + engines: { node: '>=14' } dev: false /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } + engines: { node: '>=16' } dev: true /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + resolution: + { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } dev: false - /commander@7.1.0: - resolution: {integrity: sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==} - engines: {node: '>= 10'} - dev: true - - /common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: true - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + resolution: + { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } dev: false - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } + engines: { node: '>= 10' } dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -7959,22 +8121,25 @@ packages: readable-stream: 3.6.2 dev: false - /compress-commons@5.0.1: - resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} - engines: {node: '>= 12.0.0'} + /compress-commons@5.0.3: + resolution: + { integrity: sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA== } + engines: { node: '>= 12.0.0' } dependencies: crc-32: 1.2.2 - crc32-stream: 5.0.0 + crc32-stream: 5.0.1 normalize-path: 3.0.0 readable-stream: 3.6.2 dev: false /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + resolution: + { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } + engines: { '0': node >= 0.8 } dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -7983,14 +8148,18 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + resolution: + { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } dev: true /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + resolution: + { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + dev: false /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + resolution: + { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -7998,40 +8167,48 @@ packages: dev: true /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } + engines: { node: '>= 0.6' } dev: true /convert-hrtime@3.0.0: - resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } + engines: { node: '>=8' } dev: false /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } /convert-to-spaces@1.0.2: - resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } + engines: { node: '>= 4' } dev: true /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } + engines: { node: '>= 0.6' } dev: true - /core-js-compat@3.35.0: - resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} + /core-js-compat@3.36.1: + resolution: + { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } - /cosmiconfig@9.0.0(typescript@5.4.2): - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} + /cosmiconfig@9.0.0(typescript@5.4.3): + resolution: + { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } + engines: { node: '>=14' } peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8042,12 +8219,13 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: false /cp-file@10.0.0: - resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } + engines: { node: '>=14.16' } dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8055,8 +8233,9 @@ packages: dev: false /cp-file@9.1.0: - resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } + engines: { node: '>=10' } dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8065,8 +8244,9 @@ packages: dev: false /cpy@9.0.1: - resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} - engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } + engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8079,36 +8259,41 @@ packages: dev: false /crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} + resolution: + { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } + engines: { node: '>=0.8' } hasBin: true dev: false /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } + engines: { node: '>= 10' } dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false - /crc32-stream@5.0.0: - resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} - engines: {node: '>= 12.0.0'} + /crc32-stream@5.0.1: + resolution: + { integrity: sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g== } + engines: { node: '>= 12.0.0' } dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + resolution: + { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } dependencies: bn.js: 4.12.0 - elliptic: 6.5.4 + elliptic: 6.5.5 dev: true /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + resolution: + { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8118,7 +8303,8 @@ packages: dev: true /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + resolution: + { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8129,17 +8315,20 @@ packages: dev: true /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + resolution: + { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } /cron-parser@4.9.0: - resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} - engines: {node: '>=12.0.0'} + resolution: + { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } + engines: { node: '>=12.0.0' } dependencies: - luxon: 3.4.3 + luxon: 3.4.4 dev: false /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + resolution: + { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8147,18 +8336,20 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } + engines: { node: '>= 8' } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + resolution: + { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.1 + browserify-sign: 4.2.3 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -8171,20 +8362,24 @@ packages: dev: true /csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + resolution: + { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } dev: true /csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + resolution: + { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } dev: true /csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + resolution: + { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } dev: true /csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} + resolution: + { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } + engines: { node: '>= 0.1.90' } dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8192,26 +8387,50 @@ packages: stream-transform: 2.1.3 dev: true - /dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + resolution: + { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } + engines: { node: '>= 12' } dev: false - /dataloader@1.4.0: - resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + /data-view-buffer@1.0.1: + resolution: + { integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-length@1.0.1: + resolution: + { integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: + { integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + /dataloader@1.4.0: + resolution: + { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } dev: true /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + resolution: + { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8222,8 +8441,9 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8234,8 +8454,9 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8245,145 +8466,152 @@ packages: ms: 2.1.2 supports-color: 9.4.0 - /debuglog@1.0.1: - resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dev: true - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } + engines: { node: '>=0.10.0' } dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } + engines: { node: '>=0.10.0' } dev: true /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } + engines: { node: '>=10' } dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } + engines: { node: '>=6' } dependencies: type-detect: 4.0.8 dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } dev: true /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } + engines: { node: '>=0.10.0' } dev: false /default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } + engines: { node: '>=18' } dev: false /default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } + engines: { node: '>=18' } dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + resolution: + { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } dependencies: clone: 1.0.4 - dev: true /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } + engines: { node: '>=10' } /deferred-leveldown@0.2.0: - resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} + resolution: + { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } dependencies: abstract-leveldown: 0.12.4 dev: true - /define-data-property@1.1.0: - resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} - engines: {node: '>= 0.4'} + /define-data-property@1.1.4: + resolution: + { integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - dev: true /define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } + engines: { node: '>=12' } dev: false /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } + engines: { node: '>= 0.4' } dependencies: - define-data-property: 1.1.0 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } + engines: { node: '>=0.4.0' } dev: false /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - /deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true + resolution: + { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + dev: false /des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + resolution: + { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } + engines: { node: '>=8' } dev: true /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } + engines: { node: '>=12.20' } dev: true - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} + /detect-libc@2.0.3: + resolution: + { integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== } + engines: { node: '>=8' } dev: false /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /detective-amd@5.0.2: - resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8393,85 +8621,83 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } + engines: { node: '>=14' } dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dependencies: is-url: 1.2.4 - postcss: 8.4.35 - postcss-values-parser: 6.0.2(postcss@8.4.35) + postcss: 8.4.38 + postcss-values-parser: 6.0.2(postcss@8.4.38) dev: false /detective-sass@5.0.3: - resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } + engines: { node: '>=14' } dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } + engines: { node: ^14.14.0 || >=16.0.0 } dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.3) ast-module-types: 5.0.0 node-source-walk: 6.0.2 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: false - /dezalgo@1.0.4: - resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} - dependencies: - asap: 2.0.6 - wrappy: 1.0.2 - dev: true - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true + resolution: + { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } + engines: { node: '>=0.3.1' } /diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + resolution: + { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -8479,13 +8705,15 @@ packages: dev: true /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } + engines: { node: '>=8' } dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} + resolution: + { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -8499,21 +8727,24 @@ packages: dev: true /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } + engines: { node: '>=0.10.0' } dependencies: esutils: 2.0.3 dev: true /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } + engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + resolution: + { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -8521,18 +8752,21 @@ packages: dev: true /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + resolution: + { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } dev: true /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } + engines: { node: '>= 4' } dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + resolution: + { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -8540,37 +8774,43 @@ packages: dev: true /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + resolution: + { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } + engines: { node: '>=12' } dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } + engines: { node: '>=12' } /dotenv@8.6.0: - resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } + engines: { node: '>=10' } dev: true - /drizzle-orm@0.30.3(@opentelemetry/api@1.8.0)(@types/pg@8.11.3)(pg@8.11.3)(react@17.0.2): - resolution: {integrity: sha512-tmIUPy71Ca7BUD5M7Tn9bvXESDWoj66d6lTdKCdf30V26xDFFjbx7DMamhOiWU+H1fflBk5rCdtGyt2SiFPgRg==} + /drizzle-orm@0.30.4(@opentelemetry/api@1.8.0)(@types/pg@8.11.4)(@xata.io/client@packages+client)(pg@8.11.3)(react@17.0.2): + resolution: + { integrity: sha512-kWoSMGbrOFkmkAweLTFtHJMpN+nwhx89q0mLELqT2aEU+1szNV8jrnBmJwZ0WGNp7J7yQn/ezEtxBI/qzTSElQ== } peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -8584,6 +8824,7 @@ packages: '@types/react': '>=18' '@types/sql.js': '*' '@vercel/postgres': '*' + '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' expo-sqlite: '>=13.2.0' @@ -8620,6 +8861,8 @@ packages: optional: true '@vercel/postgres': optional: true + '@xata.io/client': + optional: true better-sqlite3: optional: true bun-types: @@ -8644,17 +8887,20 @@ packages: optional: true dependencies: '@opentelemetry/api': 1.8.0 - '@types/pg': 8.11.3 + '@types/pg': 8.11.4 + '@xata.io/client': link:packages/client pg: 8.11.3 react: 17.0.2 dev: true /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } /edge-runtime@2.5.9: - resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } + engines: { node: '>=16' } hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -8669,17 +8915,20 @@ packages: dev: false /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== } + engines: { node: '>=0.10.0' } hasBin: true dependencies: jake: 10.8.7 - /electron-to-chromium@1.4.614: - resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} + /electron-to-chromium@1.4.715: + resolution: + { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + /elliptic@6.5.5: + resolution: + { integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== } dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -8691,169 +8940,203 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} + resolution: + { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } dev: true /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + resolution: + { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } dev: true /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: true - optional: true + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } dependencies: once: 1.4.0 + dev: false - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} + /enhanced-resolve@5.16.0: + resolution: + { integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== } + engines: { node: '>=10.13.0' } dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } + engines: { node: '>=8.6' } dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + resolution: + { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } dev: true /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } + engines: { node: '>=0.12' } dev: true /env-editor@1.1.0: - resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } + engines: { node: '>=6' } + dev: false /env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: true - /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + resolution: + { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + resolution: + { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } dependencies: stackframe: 1.3.4 dev: false - /error@10.4.0: - resolution: {integrity: sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==} - dev: true - /error@7.0.2: - resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} + resolution: + { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false - /es-abstract@1.22.2: - resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + /es-abstract@1.23.2: + resolution: + { integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w== } + engines: { node: '>= 0.4' } + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.15 dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + /es-define-property@1.0.0: + resolution: + { integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== } + engines: { node: '>= 0.4' } + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: + { integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== } + engines: { node: '>= 0.4' } + + /es-module-lexer@1.4.2: + resolution: + { integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw== } + + /es-object-atoms@1.0.0: + resolution: + { integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== } + engines: { node: '>= 0.4' } + dependencies: + es-errors: 1.3.0 + dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} + /es-set-tostringtag@2.0.3: + resolution: + { integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: + { integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== } dependencies: - has: 1.0.3 + hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } + engines: { node: '>= 0.4' } dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -8861,12 +9144,14 @@ packages: dev: true /es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + resolution: + { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } dev: true /esbuild@0.19.11: - resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -8893,41 +9178,44 @@ packages: '@esbuild/win32-arm64': 0.19.11 '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - dev: true + dev: false - /esbuild@0.19.2: - resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} - engines: {node: '>=12'} + /esbuild@0.19.12: + resolution: + { integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.2 - '@esbuild/android-arm64': 0.19.2 - '@esbuild/android-x64': 0.19.2 - '@esbuild/darwin-arm64': 0.19.2 - '@esbuild/darwin-x64': 0.19.2 - '@esbuild/freebsd-arm64': 0.19.2 - '@esbuild/freebsd-x64': 0.19.2 - '@esbuild/linux-arm': 0.19.2 - '@esbuild/linux-arm64': 0.19.2 - '@esbuild/linux-ia32': 0.19.2 - '@esbuild/linux-loong64': 0.19.2 - '@esbuild/linux-mips64el': 0.19.2 - '@esbuild/linux-ppc64': 0.19.2 - '@esbuild/linux-riscv64': 0.19.2 - '@esbuild/linux-s390x': 0.19.2 - '@esbuild/linux-x64': 0.19.2 - '@esbuild/netbsd-x64': 0.19.2 - '@esbuild/openbsd-x64': 0.19.2 - '@esbuild/sunos-x64': 0.19.2 - '@esbuild/win32-arm64': 0.19.2 - '@esbuild/win32-ia32': 0.19.2 - '@esbuild/win32-x64': 0.19.2 - dev: false + '@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 + dev: true /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -8956,31 +9244,37 @@ packages: '@esbuild/win32-x64': 0.20.2 dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + /escalade@3.1.2: + resolution: + { integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== } + engines: { node: '>=6' } /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + resolution: + { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } + engines: { node: '>=0.8.0' } /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } + engines: { node: '>=8' } dev: true /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } + engines: { node: '>=10' } /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } + engines: { node: '>=12' } dev: false /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} + resolution: + { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } + engines: { node: '>=6.0' } hasBin: true dependencies: esprima: 4.0.1 @@ -8990,18 +9284,19 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-oclif-typescript@3.1.3(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg==} - engines: {node: '>=18.0.0'} + /eslint-config-oclif-typescript@3.1.3(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-lRSkiSd2AGu/D0EgK5Bz/u92c2t5nK2lAgPPPlAGHUXEL2IhjR+KNWf2REZReMD4IzAGVbCKlVqDNTDybJ11qg== } + engines: { node: '>=18.0.0' } dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) eslint-config-xo-space: 0.35.0(eslint@8.57.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-mocha: 10.4.1(eslint@8.57.0) eslint-plugin-n: 15.7.0(eslint@8.57.0) - eslint-plugin-perfectionist: 2.7.0(eslint@8.57.0)(typescript@5.4.2) + eslint-plugin-perfectionist: 2.7.0(eslint@8.57.0)(typescript@5.4.3) transitivePeerDependencies: - astro-eslint-parser - eslint @@ -9015,8 +9310,9 @@ packages: dev: true /eslint-config-oclif@5.1.1(eslint@8.57.0): - resolution: {integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-cyvKKwNnNkrYmumgrd72I8WxXJBL2DDI8fX2/wX5v4O0kl7Poj2ceR4ylP6DWXpCbD48+qXGwjIjiz2cVVVrzQ== } + engines: { node: '>=18.0.0' } dependencies: eslint-config-xo-space: 0.35.0(eslint@8.57.0) eslint-plugin-mocha: 10.4.1(eslint@8.57.0) @@ -9027,8 +9323,9 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@8.57.0): - resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } + engines: { node: '>=12' } peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9037,8 +9334,9 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@8.57.0): - resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } + engines: { node: '>=18' } peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9047,30 +9345,32 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + resolution: + { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } dependencies: debug: 3.2.7 is-core-module: 2.13.1 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@9.4.0) - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.1 - get-tsconfig: 4.7.2 - is-core-module: 2.13.0 + fast-glob: 3.3.2 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -9080,20 +9380,21 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.3.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@9.4.0) - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.1 - get-tsconfig: 4.7.2 - is-core-module: 2.13.0 + fast-glob: 3.3.2 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -9102,9 +9403,10 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: + { integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9123,7 +9425,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -9132,9 +9434,10 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: + { integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9153,7 +9456,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -9163,8 +9466,9 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@8.57.0): - resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} - engines: {node: '>=8.10.0'} + resolution: + { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } + engines: { node: '>=8.10.0' } peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9174,8 +9478,9 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9183,23 +9488,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.3) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 transitivePeerDependencies: @@ -9209,8 +9514,9 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9218,23 +9524,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 transitivePeerDependencies: @@ -9244,8 +9550,9 @@ packages: dev: true /eslint-plugin-mocha@10.4.1(eslint@8.57.0): - resolution: {integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-G85ALUgKaLzuEuHhoW3HVRgPTmia6njQC3qCG6CEvA8/Ja9PDZnRZOuzekMki+HaViEQXINuYsmhp5WR5/4MfA== } + engines: { node: '>=14.0.0' } peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9256,8 +9563,9 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@8.57.0): - resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} - engines: {node: '>=12.22.0'} + resolution: + { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } + engines: { node: '>=12.22.0' } peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9265,15 +9573,16 @@ packages: eslint: 8.57.0 eslint-plugin-es: 4.1.0(eslint@8.57.0) eslint-utils: 3.0.0(eslint@8.57.0) - ignore: 5.2.4 + ignore: 5.3.1 is-core-module: 2.13.1 minimatch: 3.1.2 - resolve: 1.22.6 + resolve: 1.22.8 semver: 7.6.0 dev: true - /eslint-plugin-perfectionist@2.7.0(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw==} + /eslint-plugin-perfectionist@2.7.0(eslint@8.57.0)(typescript@5.4.3): + resolution: + { integrity: sha512-RpSMc0T0DT9DlOj4APzwlAjCqQMxFdsIYlupe73eDkKLn1mMK7fVw2z3nj2y822szKOpvHA7bDa56ySOlr4GXw== } peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9290,7 +9599,7 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 @@ -9300,14 +9609,15 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } + engines: { node: '>=16' } peerDependencies: eslint: '>=8.44.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - ci-info: 3.8.0 + ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.57.0 esquery: 1.5.0 @@ -9324,23 +9634,26 @@ packages: dev: true /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } + engines: { node: '>=6' } dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@8.57.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + resolution: + { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } + engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } peerDependencies: eslint: '>=5' dependencies: @@ -9349,26 +9662,30 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } + engines: { node: '>=4' } dev: true /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } + engines: { node: '>=10' } dev: true /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.8.2 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -9390,9 +9707,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.22.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -9410,85 +9727,84 @@ packages: dev: true /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } + engines: { node: '>=4' } hasBin: true /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } + engines: { node: '>=0.10' } dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } + engines: { node: '>=4.0' } dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } + engines: { node: '>=4.0' } /estree-walker@0.5.2: - resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} + resolution: + { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } dev: true /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + resolution: + { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } dev: true /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + resolution: + { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true - - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true + resolution: + { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } + engines: { node: '>=0.10.0' } /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true + resolution: + { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + resolution: + { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } + engines: { node: '>=10' } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9499,83 +9815,77 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: false /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 3.0.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 dev: false /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + resolution: + { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } + engines: { node: '>=16.17' } dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + resolution: + { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } dev: true /extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + resolution: + { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } dev: true /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } + engines: { node: '>=4' } dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } /fast-equals@3.0.3: - resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} + resolution: + { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } dev: false /fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + resolution: + { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } dev: false - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } + engines: { node: '>=8.6.0' } dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -9584,176 +9894,195 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } dev: true /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } dev: true /fast-levenshtein@3.0.0: - resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + resolution: + { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + resolution: + { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + resolution: + { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} + resolution: + { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } + engines: { node: '>= 4.9.1' } - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: + { integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== } dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + resolution: + { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } dependencies: format: 0.2.2 dev: true - /fdir@6.1.0: - resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} + /fdir@6.1.1: + resolution: + { integrity: sha512-QfKBVg453Dyn3mr0Q0O+Tkr1r79lOTAKSi9f/Ot4+qVEwxWhav2Z+SudrG9vQjM2aYRMQQZ2/Q1zdA8ACM1pDg== } peerDependencies: - picomatch: 2.x + picomatch: 3.x peerDependenciesMeta: picomatch: optional: true dev: false /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } + engines: { node: ^12.20 || >= 14.13 } dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.3 dev: false /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } + engines: { node: '>=8' } dependencies: escape-string-regexp: 1.0.5 - dev: true /figures@4.0.1: - resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } + engines: { node: '>=12' } dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } + engines: { node: '>=14' } dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: - flat-cache: 3.1.0 + flat-cache: 3.2.0 dev: true /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + resolution: + { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } requiresBuild: true dev: false /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + resolution: + { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } + engines: { node: '>=8' } dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /filter-obj@5.1.0: - resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } + engines: { node: '>=14.16' } dev: false /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } + engines: { node: '>=8' } dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } + engines: { node: '>=10' } dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + resolution: + { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + resolution: + { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } dependencies: micromatch: 4.0.5 dev: true - /first-chunk-stream@2.0.0: - resolution: {integrity: sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==} - engines: {node: '>=0.10.0'} - dependencies: - readable-stream: 2.3.8 - dev: true - - /flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} + /flat-cache@3.2.0: + resolution: + { integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: - flatted: 3.2.9 - keyv: 4.5.3 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: + { integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== } dev: true - /follow-redirects@1.15.3: - resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} - engines: {node: '>=4.0'} + /follow-redirects@1.15.6: + resolution: + { integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== } + engines: { node: '>=4.0' } peerDependencies: debug: '*' peerDependenciesMeta: @@ -9762,30 +10091,35 @@ packages: dev: false /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + resolution: + { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} + resolution: + { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } dev: true /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } + engines: { node: '>=14' } dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} + resolution: + { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } + engines: { node: '>= 14.17' } /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } + engines: { node: '>= 6' } dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -9793,33 +10127,38 @@ packages: dev: false /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} + resolution: + { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } + engines: { node: '>=0.4.x' } dev: true /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } + engines: { node: '>=12.20.0' } dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } dev: false /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } + engines: { node: '>=12' } dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -9827,8 +10166,9 @@ packages: dev: true /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -9836,55 +10176,57 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } + engines: { node: '>= 8' } dependencies: minipass: 3.3.6 - - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: true + dev: false /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + 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} + resolution: + { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 functions-have-names: 1.2.3 dev: true /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + resolution: + { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } dev: true /fwd-stream@1.0.4: - resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} + resolution: + { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } + engines: { node: '>=10' } dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -9895,145 +10237,139 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true + dev: false /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } + engines: { node: '>=6.9.0' } /get-amd-module-type@5.0.1: - resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } + engines: { node: 6.* || 8.* || >= 10.* } /get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } + engines: { node: '>=18' } dev: true /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + resolution: + { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.4: + resolution: + { integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== } + engines: { node: '>= 0.4' } dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has: 1.0.3 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 + hasown: 2.0.2 /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } + engines: { node: '>=8.0.0' } /get-port@6.1.2: - resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true - - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 + resolution: + { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } + engines: { node: '>=12' } dev: true /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } + engines: { node: '>=10' } /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } + engines: { node: '>=16' } dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + /get-symbol-description@1.0.2: + resolution: + { integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + /get-tsconfig@4.7.3: + resolution: + { integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== } dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + resolution: + { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } dev: true /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: true - - /github-username@6.0.0: - resolution: {integrity: sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==} - engines: {node: '>=10'} - dependencies: - '@octokit/rest': 18.12.0 - transitivePeerDependencies: - - encoding + resolution: + { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } dev: true /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } + engines: { node: '>= 6' } dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } + engines: { node: '>=10.13.0' } dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + resolution: + { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } dev: false - /glob@10.3.8: - resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} - engines: {node: '>=16 || 14 >=14.17'} + /glob@10.3.10: + resolution: + { integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== } + engines: { node: '>=16 || 14 >=14.17' } hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.5 + jackspeak: 2.3.6 minimatch: 9.0.3 - minipass: 7.0.3 + minipass: 7.0.4 path-scurry: 1.10.1 dev: true /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10043,143 +10379,152 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } + engines: { node: '>=12' } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 + dev: false /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - /globals@13.22.0: - resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true + resolution: + { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } + engines: { node: '>=4' } /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } + engines: { node: '>=8' } dependencies: type-fest: 0.20.2 dev: true /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } + engines: { node: '>= 0.4' } dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } + engines: { node: '>=10' } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } + engines: { node: '>=18' } dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 dev: true /gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} + resolution: + { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } + engines: { node: '>=0.6.0' } hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + resolution: + { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } dependencies: - get-intrinsic: 1.2.1 - dev: true + get-intrinsic: 1.2.4 - /got-fetch@5.1.6(got@12.6.1): - resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} - engines: {node: '>=14.0.0'} + /got-fetch@5.1.8(got@12.6.1): + resolution: + { integrity: sha512-vh2oE8dEU9/dWxxCLKSwzjaPirhh+V+kEzwmUzktQSZ7qGaKDVvjhNSaXWEhpHLKLiGl0sPEUd1/lXpuuPpcPA== } + engines: { node: '>=14.0.0' } peerDependencies: got: ^12.0.0 dependencies: got: 12.6.1 dev: true - /got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + /got@12.6.1: + resolution: + { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } + engines: { node: '>=14.16' } dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - dev: true + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 - /got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} + /got@13.0.0: + resolution: + { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } + engines: { node: '>=16' } dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.13 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 + dev: true /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + resolution: + { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } dev: true /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + resolution: + { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } + 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 dependencies: @@ -10188,70 +10533,80 @@ packages: dev: true /graphql@15.8.0: - resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} - engines: {node: '>= 10.x'} + resolution: + { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } + engines: { node: '>= 10.x' } dev: true /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: true - - /grouped-queue@2.0.0: - resolution: {integrity: sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } + engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } dev: true /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } + engines: { node: '>=6' } dev: true /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + resolution: + { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } dev: true /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } + engines: { node: '>=4' } /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } + engines: { node: '>=8' } - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.2: + resolution: + { integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== } dependencies: - get-intrinsic: 1.2.1 - dev: true + es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} + /has-proto@1.0.3: + resolution: + { integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== } + engines: { node: '>= 0.4' } /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } + engines: { node: '>= 0.4' } - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + /has-tostringtag@1.0.2: + resolution: + { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + resolution: + { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hash-base@3.0.4: + resolution: + { integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow== } + engines: { node: '>=4' } dependencies: - function-bind: 1.1.2 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } + engines: { node: '>=4' } dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10259,32 +10614,37 @@ packages: dev: true /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + resolution: + { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + /hasown@2.0.2: + resolution: + { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } + engines: { node: '>= 0.4' } dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + resolution: + { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true - /headers-polyfill@4.0.2: - resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} + /headers-polyfill@4.0.3: + resolution: + { integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ== } dev: true /hexer@1.5.0: - resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} - engines: {node: '>= 0.10.x'} + resolution: + { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } + engines: { node: '>= 0.10.x' } hasBin: true dependencies: ansi-color: 0.2.1 @@ -10294,11 +10654,13 @@ packages: dev: false /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + resolution: + { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } dev: true /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + resolution: + { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -10306,37 +10668,35 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + resolution: + { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + resolution: + { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } dev: true /hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } + engines: { node: '>=10' } dependencies: lru-cache: 6.0.0 - /hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - lru-cache: 7.18.3 - dev: true - /hot-shots@10.0.0: - resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} - engines: {node: '>=10.0.0'} + resolution: + { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } + engines: { node: '>=10.0.0' } optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + resolution: + { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -10345,11 +10705,13 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + resolution: + { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } /http-call@5.3.0: - resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} - engines: {node: '>=8.0.0'} + resolution: + { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } + engines: { node: '>=8.0.0' } dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -10361,186 +10723,148 @@ packages: - supports-color dev: true - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - transitivePeerDependencies: - - supports-color - dev: true - - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - transitivePeerDependencies: - - supports-color - dev: true - - /http2-client@1.3.5: - resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} - dev: true - - /http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: true - - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} - engines: {node: '>=10.19.0'} + /http2-client@1.3.5: + resolution: + { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + dev: true + + /http2-wrapper@2.2.1: + resolution: + { integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== } + engines: { node: '>=10.19.0' } dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } + engines: { node: '>= 6' } dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color + dev: false /human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + resolution: + { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } dev: true /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } + engines: { node: '>=10.17.0' } + dev: false /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } + engines: { node: '>=12.20.0' } dev: false /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - dependencies: - ms: 2.1.3 + resolution: + { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } + engines: { node: '>=16.17.0' } dev: true /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } + engines: { node: '>=18' } hasBin: true dev: true /hyperlinker@1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } + engines: { node: '>=4' } /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } + engines: { node: '>=0.10.0' } dependencies: safer-buffer: 2.1.2 - dev: true - - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dependencies: - safer-buffer: 2.1.2 - dev: true - optional: true /idb-wrapper@1.7.2: - resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} + resolution: + { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } dev: true /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore-walk@4.0.1: - resolution: {integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==} - engines: {node: '>=10'} - dependencies: - minimatch: 3.1.2 - dev: true - - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minimatch: 9.0.3 - dev: true + resolution: + { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + dev: false - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} + /ignore@5.3.1: + resolution: + { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } + engines: { node: '>= 4' } /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } + engines: { node: '>=6' } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} + resolution: + { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } dependencies: - acorn: 8.10.0 - acorn-import-assertions: 1.9.0(acorn@8.10.0) + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) cjs-module-lexer: 1.2.3 module-details-from-path: 1.0.3 dev: true /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } + engines: { node: '>=0.8.19' } dev: true /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } + engines: { node: '>=8' } /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } + engines: { node: '>=12' } dev: false /indexof@0.0.1: - resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} - dev: true - - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + resolution: + { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } dev: true /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } /ini@4.1.2: - resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dev: false /ink@3.2.0(react@17.0.2): - resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } + engines: { node: '>=10' } peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -10560,7 +10884,7 @@ packages: lodash: 4.17.21 patch-console: 1.0.0 react: 17.0.2 - react-devtools-core: 4.28.0 + react-devtools-core: 4.28.5 react-reconciler: 0.26.2(react@17.0.2) scheduler: 0.20.2 signal-exit: 3.0.7 @@ -10577,398 +10901,431 @@ packages: - utf-8-validate dev: true - /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} + /inquirer@9.2.16: + resolution: + { integrity: sha512-qzgbB+yNjgSzk2omeqMDtO9IgJet/UL67luT1MaaggRpGK73DBQct5Q4pipwFQcIKK1GbMODYd4UfsRCkSP1DA== } + engines: { node: '>=18' } dependencies: + '@ljharb/through': 2.3.13 ansi-escapes: 4.3.2 - chalk: 4.1.2 + chalk: 5.3.0 cli-cursor: 3.1.0 - cli-width: 3.0.0 + cli-width: 4.1.0 external-editor: 3.1.0 figures: 3.2.0 lodash: 4.17.21 - mute-stream: 0.0.8 + mute-stream: 1.0.0 ora: 5.4.1 - run-async: 2.4.1 + run-async: 3.0.0 rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 - through: 2.3.8 wrap-ansi: 6.2.0 - dev: true + dev: false - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} + /internal-slot@1.0.7: + resolution: + { integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== } + engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 dev: true /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: true + resolution: + { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } + engines: { node: '>= 0.10' } /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + resolution: + { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } dev: true /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + resolution: + { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: + { integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + resolution: + { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + resolution: + { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } + engines: { node: '>=8' } dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 dev: true /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } + engines: { node: '>=4' } dev: true /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } + engines: { node: '>=6' } dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } + engines: { node: '>= 0.4' } dev: true /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + resolution: + { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } hasBin: true dependencies: ci-info: 2.0.0 dev: true - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + /is-core-module@2.13.1: + resolution: + { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } dependencies: - has: 1.0.3 - dev: true + hasown: 2.0.2 - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-data-view@1.0.1: + resolution: + { integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== } + engines: { node: '>= 0.4' } dependencies: - hasown: 2.0.0 + is-typed-array: 1.1.13 + dev: true /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + resolution: + { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } dev: true /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } + engines: { node: '>=8' } hasBin: true /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true dev: false /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } + engines: { node: '>=0.10.0' } /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: '>=8' } /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } + engines: { node: '>=12' } dev: true /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } + engines: { node: '>=18' } dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + resolution: + { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } dev: true /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } + engines: { node: '>=14.16' } hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: true + resolution: + { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } + engines: { node: '>=8' } + dev: false - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + /is-negative-zero@2.0.3: + resolution: + { integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== } + engines: { node: '>= 0.4' } dev: true /is-node-process@1.2.0: - resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + resolution: + { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } dev: true /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: '>=0.12.0' } /is-object@0.1.2: - resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} + resolution: + { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } dev: true /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } + engines: { node: '>=8' } dev: true /is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } + engines: { node: '>=12' } dev: false /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } + engines: { node: '>=0.10.0' } dev: true /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } + engines: { node: '>=8' } /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true + resolution: + { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } + engines: { node: '>=12' } /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } + engines: { node: '>=0.10.0' } dev: true - /is-scoped@2.1.0: - resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} - engines: {node: '>=8'} + /is-shared-array-buffer@1.0.3: + resolution: + { integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== } + engines: { node: '>= 0.4' } dependencies: - scoped-regex: 2.1.0 - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } + engines: { node: '>=8' } /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } + engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } + engines: { node: '>=4' } dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + /is-typed-array@1.1.13: + resolution: + { integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== } + engines: { node: '>= 0.4' } dependencies: - which-typed-array: 1.1.11 + which-typed-array: 1.1.15 dev: true /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + resolution: + { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } + engines: { node: '>=10' } + dev: false /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } + engines: { node: '>=12' } dev: false /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } + engines: { node: '>=10' } dev: false /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + resolution: + { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } dev: false - /is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + resolution: + { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } + engines: { node: '>=0.10.0' } dev: true /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } + engines: { node: '>=8' } dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } + engines: { node: '>=16' } dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} + resolution: + { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } dev: true /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + resolution: + { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } dev: true /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - dev: true - - /isbinaryfile@5.0.0: - resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} - engines: {node: '>= 14.0.0'} + resolution: + { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } dev: true /isbuffer@0.0.0: - resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} + resolution: + { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } dev: true /iserror@0.0.2: - resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} + resolution: + { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } dev: false /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + resolution: + { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } + engines: { node: '>=16' } dev: false - /jackspeak@2.3.5: - resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} - engines: {node: '>=14'} + /jackspeak@2.3.6: + resolution: + { integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== } + engines: { node: '>=14' } dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -10976,8 +11333,9 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } + engines: { node: '>=10' } dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -10987,23 +11345,26 @@ packages: dev: false /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } + engines: { node: '>=10' } hasBin: true dependencies: - async: 3.2.4 + async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dev: false /jest-validate@27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11014,170 +11375,177 @@ packages: dev: false /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + resolution: + { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } hasBin: true dev: true /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + resolution: + { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } dev: true /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + resolution: + { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } hasBin: true dev: true /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } + engines: { node: '>=4' } hasBin: true /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } + engines: { node: '>=6' } hasBin: true dev: true /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + resolution: + { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } dev: true /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - /json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + resolution: + { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } dev: true /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json-stringify-nice@1.1.4: - resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} + resolution: + { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } dev: true /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + resolution: + { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } + engines: { node: '>=6' } hasBin: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonc-parser@3.2.1: + resolution: + { integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== } /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: true - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } + engines: { node: '>=0.10.0' } dev: false /junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } + engines: { node: '>=12.20' } dev: false - /just-diff-apply@5.5.0: - resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} - dev: true - - /just-diff@5.2.0: - resolution: {integrity: sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==} - dev: true - /keep-func-props@4.0.1: - resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } + engines: { node: '>=12.20.0' } dependencies: mimic-fn: 4.0.0 dev: false - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /keyv@4.5.4: + resolution: + { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } dependencies: json-buffer: 3.0.1 /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } + engines: { node: '>=0.10.0' } dev: true /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } + engines: { node: '>=6' } dev: false /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } + engines: { node: '>=6' } dev: true /kysely@0.27.3: - resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } + engines: { node: '>=14.0.0' } dev: true /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + resolution: + { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } + engines: { node: '>= 0.6.3' } dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} + resolution: + { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11185,7 +11553,8 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} + resolution: + { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11199,23 +11568,27 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} + resolution: + { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } dev: true /level-fix-range@2.0.0: - resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} + resolution: + { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} + resolution: + { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} + resolution: + { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11226,13 +11599,15 @@ packages: dev: true /level-peek@1.0.6: - resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} + resolution: + { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} + resolution: + { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11241,7 +11616,8 @@ packages: dev: true /levelup@0.18.6: - resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} + resolution: + { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11253,34 +11629,40 @@ packages: dev: true /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } + engines: { node: '>=6' } dev: false /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } + engines: { node: '>=14' } dev: true /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } + engines: { node: '>=14' } dev: true /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } /lint-staged@15.2.2: - resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} - engines: {node: '>=18.12.0'} + resolution: + { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } + engines: { node: '>=18.12.0' } hasBin: true dependencies: chalk: 5.3.0 @@ -11298,20 +11680,22 @@ packages: dev: true /listr2@8.0.1: - resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } + engines: { node: '>=18.0.0' } dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 6.0.0 - rfdc: 1.3.0 + rfdc: 1.3.1 wrap-ansi: 9.0.0 dev: true /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } + engines: { node: '>=4' } dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -11320,8 +11704,9 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } + engines: { node: '>=6' } dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -11330,115 +11715,139 @@ packages: dev: true /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } + engines: { node: '>=14' } dependencies: - mlly: 1.4.2 + mlly: 1.6.1 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } + engines: { node: '>=8' } dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } + engines: { node: '>=10' } dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + resolution: + { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } dev: false /lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + resolution: + { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } dev: true /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + resolution: + { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } /lodash.chunk@4.2.0: - resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} + resolution: + { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } dev: false /lodash.compact@3.0.1: - resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} + resolution: + { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } dev: false /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } dev: true /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + resolution: + { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } dev: false /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + resolution: + { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } dev: false /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + resolution: + { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } dev: false /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + resolution: + { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } dev: false /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + resolution: + { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } dev: false /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + resolution: + { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } /lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} + resolution: + { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } dev: false /lodash.set@4.3.2: - resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} + resolution: + { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } dev: false /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + resolution: + { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } dev: true /lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + resolution: + { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + resolution: + { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + resolution: + { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } dev: false /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } /log-process-errors@8.0.0: - resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} - engines: {node: '>=12.20.0'} + resolution: + { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } + engines: { node: '>=12.20.0' } dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -11450,16 +11859,18 @@ packages: dev: false /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } + engines: { node: '>=10' } dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true + dev: false /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } + engines: { node: '>=18' } dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -11469,225 +11880,160 @@ packages: dev: true /long@2.4.0: - resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} - engines: {node: '>=0.6'} + resolution: + { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } + engines: { node: '>=0.6' } dev: false /long@5.2.3: - resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + resolution: + { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } /longest-streak@2.0.4: - resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + resolution: + { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } dev: true /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + resolution: + { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + resolution: + { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + resolution: + { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } dependencies: tslib: 2.6.2 dev: true - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - /lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + resolution: + { integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== } + engines: { node: 14 || >=16.14 } dev: true /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + resolution: + { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } + engines: { node: '>=10' } dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true - /ltgt@2.2.1: - resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + resolution: + { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } dev: true - /luxon@3.4.3: - resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} - engines: {node: '>=12'} + /luxon@3.4.4: + resolution: + { integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== } + engines: { node: '>=12' } dev: false /macos-release@3.2.0: - resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /magic-string@0.22.5: - resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} + resolution: + { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} + resolution: + { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + resolution: + { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } dependencies: sourcemap-codec: 1.4.8 dev: true - /magic-string@0.30.4: - resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} + /magic-string@0.30.8: + resolution: + { integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== } + engines: { node: '>=12' } dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } + engines: { node: '>=8' } dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - /make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 16.1.3 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 9.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 17.1.4 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 5.0.0 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: true - - /make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - dependencies: - agentkeepalive: 4.5.0 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1(supports-color@9.4.0) - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true + resolution: + { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } + engines: { node: '>=0.10.0' } dev: true /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } + engines: { node: '>=8' } dev: true /map-obj@5.0.2: - resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + resolution: + { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + resolution: + { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -11695,7 +12041,8 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} + resolution: + { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -11703,7 +12050,8 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} + resolution: + { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -11712,9 +12060,10 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + resolution: + { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -11724,13 +12073,15 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} + resolution: + { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} + resolution: + { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -11740,26 +12091,30 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} + resolution: + { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} + resolution: + { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} + resolution: + { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} + resolution: + { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -11771,9 +12126,10 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} + resolution: + { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 longest-streak: 2.0.4 mdast-util-to-string: 2.0.0 parse-entities: 2.0.0 @@ -11782,50 +12138,21 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true - - /mem-fs-editor@9.7.0(mem-fs@2.3.0): - resolution: {integrity: sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==} - engines: {node: '>=12.10.0'} - peerDependencies: - mem-fs: ^2.1.0 - peerDependenciesMeta: - mem-fs: - optional: true - dependencies: - binaryextensions: 4.18.0 - commondir: 1.0.1 - deep-extend: 0.6.0 - ejs: 3.1.9 - globby: 11.1.0 - isbinaryfile: 5.0.0 - mem-fs: 2.3.0 - minimatch: 7.4.6 - multimatch: 5.0.0 - normalize-path: 3.0.0 - textextensions: 5.16.0 - dev: true - - /mem-fs@2.3.0: - resolution: {integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==} - engines: {node: '>=12'} - dependencies: - '@types/node': 15.14.9 - '@types/vinyl': 2.0.7 - vinyl: 2.2.1 - vinyl-file: 3.0.0 + resolution: + { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } dev: true /memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + resolution: + { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } dev: false /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } + engines: { node: '>=8' } dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -11839,29 +12166,35 @@ packages: dev: true /merge-options@3.0.4: - resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } + engines: { node: '>=10' } dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } + engines: { node: '>= 8' } /micro-api-client@3.3.0: - resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} + resolution: + { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } dev: false /micro-memoize@4.1.2: - resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} + resolution: + { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } dev: false /micromark-extension-footnote@0.3.2: - resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} + resolution: + { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11869,13 +12202,15 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} + resolution: + { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} + resolution: + { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11883,7 +12218,8 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} + resolution: + { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11891,7 +12227,8 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} + resolution: + { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11899,11 +12236,13 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} + resolution: + { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} + resolution: + { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -11911,7 +12250,8 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} + resolution: + { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -11924,7 +12264,8 @@ packages: dev: true /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + resolution: + { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -11933,14 +12274,16 @@ packages: dev: true /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } + engines: { node: '>=8.6' } dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + resolution: + { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } hasBin: true dependencies: bn.js: 4.12.0 @@ -11948,78 +12291,79 @@ packages: dev: true /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } + engines: { node: '>= 0.6' } dev: false /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } + engines: { node: '>= 0.6' } dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } + engines: { node: '>=6' } /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true + resolution: + { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } + engines: { node: '>=12' } /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } + engines: { node: '>=10' } /mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } + engines: { node: '>=4' } dev: true /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + resolution: + { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } dev: true /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + resolution: + { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } dev: true /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + resolution: + { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } + engines: { node: '>=10' } dependencies: brace-expansion: 2.0.1 - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } + engines: { node: '>=16 || 14 >=14.17' } dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } + engines: { node: '>= 6' } dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12027,134 +12371,71 @@ packages: dev: true /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - dev: true - - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: true - - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: true + resolution: + { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } + engines: { node: '>=8' } dependencies: yallist: 4.0.0 + dev: false /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } + engines: { node: '>=8' } + dev: false - /minipass@7.0.3: - resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} - engines: {node: '>=16 || 14 >=14.17'} + /minipass@7.0.4: + resolution: + { integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== } + engines: { node: '>=16 || 14 >=14.17' } dev: true /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + resolution: + { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } + engines: { node: '>= 8' } dependencies: minipass: 3.3.6 yallist: 4.0.0 + dev: false - /mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} - engines: {node: '>= 8.0.0'} - dev: true - - /mkdirp-infer-owner@2.0.0: - resolution: {integrity: sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - infer-owner: 1.0.4 - mkdirp: 1.0.4 + /mixme@0.5.10: + resolution: + { integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q== } + engines: { node: '>= 8.0.0' } dev: true /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } + engines: { node: '>=10' } hasBin: true + dev: false /mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } + engines: { node: '>=10' } hasBin: true - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + /mlly@1.6.1: + resolution: + { integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== } dependencies: - acorn: 8.10.0 - pathe: 1.1.1 + acorn: 8.11.3 + pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.0 + ufo: 1.5.3 dev: true /module-definition@5.0.1: - resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12162,37 +12443,44 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + resolution: + { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } /moize@6.1.6: - resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} + resolution: + { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } + engines: { node: '>=4' } dev: false /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } dev: true - /msw@2.2.8(typescript@5.4.2): - resolution: {integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q==} - engines: {node: '>=18'} + /msw@2.2.10(typescript@5.4.3): + resolution: + { integrity: sha512-OQhHBocUsI8j+czCTRouGCGYE8pk6hq8HQ0HFg9mYQg7KCzqVpUSbMikmRbRXGoid28FFvYqjbxB3/UWw50VZQ== } + engines: { node: '>=18' } hasBin: true requiresBuild: true peerDependencies: @@ -12203,153 +12491,149 @@ packages: dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.0.0 + '@inquirer/confirm': 3.1.0 '@mswjs/cookies': 1.1.0 '@mswjs/interceptors': 0.25.16 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.4 + '@types/statuses': 2.0.5 chalk: 4.1.2 graphql: 16.8.1 - headers-polyfill: 4.0.2 + headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.2 path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 - type-fest: 4.9.0 - typescript: 5.4.2 + type-fest: 4.13.1 + typescript: 5.4.3 yargs: 17.7.2 dev: true - /multimatch@5.0.0: - resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} - engines: {node: '>=10'} - dependencies: - '@types/minimatch': 3.0.5 - array-differ: 3.0.0 - array-union: 2.1.0 - arrify: 2.0.1 - minimatch: 3.1.2 - dev: true - - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + resolution: + { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + resolution: + { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 dev: true - /nan@2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} + /nan@2.19.0: + resolution: + { integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== } requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true /nanoid@5.0.6: - resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} - engines: {node: ^18 || >=20} + resolution: + { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } + engines: { node: ^18 || >=20 } hasBin: true dev: true /nanospinner@1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} + resolution: + { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + resolution: + { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } dev: true /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } dev: true /natural-orderby@2.0.3: - resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} - - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + resolution: + { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } /nested-error-stacks@2.1.1: - resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} + resolution: + { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } dev: false - /netlify-headers-parser@7.1.2: - resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-headers-parser@7.1.4: + resolution: + { integrity: sha512-fTVQf8u65vS4YTP2Qt1K6Np01q3yecRKXf6VMONMlWbfl5n3M/on7pZlZISNAXHNOtnVt+6Kpwfl+RIeALC8Kg== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: + '@iarna/toml': 2.2.5 escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 is-plain-obj: 4.1.0 map-obj: 5.0.2 path-exists: 5.0.0 - toml: 3.0.0 dev: false - /netlify-redirect-parser@14.2.0: - resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify-redirect-parser@14.2.2: + resolution: + { integrity: sha512-LS3cbHZfATtfZFeJr8RLBREAjCE1rEG1CybKnA6dTLgXez0lGJE/QTPzjn6GqfNmiMowo15YQe4+UjRhbzQ04w== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: + '@iarna/toml': 2.2.5 fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 is-plain-obj: 4.1.0 path-exists: 5.0.0 - toml: 3.0.0 dev: false - /netlify@13.1.10: - resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} - engines: {node: ^14.16.0 || >=16.0.0} + /netlify@13.1.14: + resolution: + { integrity: sha512-7vSq6so7lPjr3HEpjbtLyde0F3IXOzD0ocJs3s2wnJR+nX+8pWOAVGe+KN6S98odsClJBJxCkWG2rLjTBzW9pw== } + engines: { node: ^14.16.0 || >=16.0.0 } dependencies: - '@netlify/open-api': 2.22.0 + '@netlify/open-api': 2.28.0 lodash-es: 4.17.21 micro-api-client: 3.3.0 node-fetch: 3.3.2 omit.js: 2.0.2 p-wait-for: 4.1.0 - qs: 6.11.2 + qs: 6.12.0 dev: false /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + resolution: + { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + resolution: + { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } + engines: { node: '>=10.5.0' } dev: false /node-fetch-h2@2.3.0: - resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} - engines: {node: 4.x || >=6.0.0} + resolution: + { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } + engines: { node: 4.x || >=6.0.0 } dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} + resolution: + { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } + engines: { node: 4.x || >=6.0.0 } peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12359,289 +12643,117 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.6.1: - resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + /node-gyp-build@4.8.0: + resolution: + { integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== } hasBin: true dev: false - /node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /node-gyp@9.4.0: - resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 11.1.1 - nopt: 6.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + resolution: + { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } dev: false /node-readfiles@0.2.0: - resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + resolution: + { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + resolution: + { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } /node-source-walk@6.0.2: - resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } + engines: { node: '>=14' } dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} - engines: {node: '>=0.12.0'} + resolution: + { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } + engines: { node: '>=0.12.0' } dev: false /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } + engines: { node: '>=6' } hasBin: true dependencies: abbrev: 1.1.1 - - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: true + dev: false /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + resolution: + { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.6 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true /normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } + engines: { node: '>=10' } dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 - /normalize-package-data@5.0.0: - resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - hosted-git-info: 6.1.1 - is-core-module: 2.13.1 - semver: 7.6.0 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } + engines: { node: '>=0.10.0' } dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - - /npm-bundled@1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - dependencies: - npm-normalize-package-bin: 1.0.1 - dev: true - - /npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - npm-normalize-package-bin: 3.0.1 - dev: true - - /npm-install-checks@4.0.0: - resolution: {integrity: sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /npm-install-checks@6.2.0: - resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.6.0 - dev: true - - /npm-normalize-package-bin@1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - dev: true - - /npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - hosted-git-info: 6.1.1 - proc-log: 3.0.0 - semver: 7.6.0 - validate-npm-package-name: 5.0.0 - dev: true + resolution: + { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } + engines: { node: '>=0.10.0' } - /npm-package-arg@8.1.5: - resolution: {integrity: sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - semver: 7.6.0 - validate-npm-package-name: 3.0.0 - dev: true - - /npm-packlist@3.0.0: - resolution: {integrity: sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - glob: 7.2.3 - ignore-walk: 4.0.1 - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: true - - /npm-packlist@7.0.4: - resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - ignore-walk: 6.0.3 - dev: true - - /npm-pick-manifest@6.1.1: - resolution: {integrity: sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==} - dependencies: - npm-install-checks: 4.0.0 - npm-normalize-package-bin: 1.0.1 - npm-package-arg: 8.1.5 - semver: 7.6.0 - dev: true - - /npm-pick-manifest@8.0.2: - resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - npm-install-checks: 6.2.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 10.1.0 - semver: 7.6.0 - dev: true - - /npm-registry-fetch@12.0.2: - resolution: {integrity: sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - dependencies: - make-fetch-happen: 10.2.1 - minipass: 3.3.6 - minipass-fetch: 1.4.1 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 8.1.5 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /npm-registry-fetch@14.0.5: - resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - make-fetch-happen: 11.1.1 - minipass: 5.0.0 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 10.1.0 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true + /normalize-url@8.0.1: + resolution: + { integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== } + engines: { node: '>=14.16' } /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } + engines: { node: '>=8' } dependencies: path-key: 3.1.1 + dev: false - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /npm-run-path@5.3.0: + resolution: + { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: path-key: 4.0.0 - /npm@10.5.0: - resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} - engines: {node: ^18.17.0 || >=20.5.0} + /npm@10.2.4: + resolution: + { integrity: sha512-umEuYneVEYO9KoEEI8n2sSGmNQeqco/3BSeacRlqIkCzw4E7XGtYSWMeJobxzr6hZ2n9cM+u5TsMTcC5bAgoWA== } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true dev: false bundledDependencies: @@ -12707,6 +12819,7 @@ packages: - semver - spdx-expression-parse - ssri + - strip-ansi - supports-color - tar - text-table @@ -12717,31 +12830,25 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + resolution: + { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: true + dev: false /oas-kit-common@1.0.8: - resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + resolution: + { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + resolution: + { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -12749,7 +12856,8 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + resolution: + { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -12760,11 +12868,13 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + resolution: + { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } dev: true /oas-validator@5.0.8: - resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + resolution: + { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -12777,14 +12887,17 @@ packages: dev: true /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } + engines: { node: '>=0.10.0' } - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.1: + resolution: + { integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== } /object-keys@0.2.0: - resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} + resolution: + { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -12793,120 +12906,136 @@ packages: dev: true /object-keys@0.4.0: - resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} + resolution: + { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } dev: true /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } + engines: { node: '>= 0.4' } dev: true /object-treeify@1.1.33: - resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } + engines: { node: '>= 10' } - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + /object.assign@4.1.5: + resolution: + { integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} + /object.fromentries@2.0.8: + resolution: + { integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.3: + resolution: + { integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.23.2 dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + /object.values@1.2.0: + resolution: + { integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + resolution: + { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } dev: true - /oclif@4.5.7: - resolution: {integrity: sha512-We/j5WbemIw6DSbwFUpThrUGF2dv37CpyyAC83a+oAwBQELx2KddfrXxSR6Nv7hmkwf3nfuKGb89uLl35qOOLA==} - engines: {node: '>=18.0.0'} + /oclif@4.6.1: + resolution: + { integrity: sha512-PImUoF6NiWVjaZ1GHeqD6aUUsWLot/7wey1WxOzei/dn4lK1nGH3/UXRSAGG6OciSlzuwNClPKfqNwKAVPm3OQ== } + engines: { node: '>=18.0.0' } hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 - '@aws-sdk/client-s3': 3.535.0 - '@oclif/core': 3.25.2 + '@aws-sdk/client-s3': 3.537.0 + '@inquirer/confirm': 3.1.0 + '@inquirer/input': 2.1.0 + '@inquirer/select': 2.2.0 + '@oclif/core': 3.25.3 '@oclif/plugin-help': 6.0.18 - '@oclif/plugin-not-found': 3.0.14 - '@oclif/plugin-warn-if-update-available': 3.0.12 + '@oclif/plugin-not-found': 3.1.0 + '@oclif/plugin-warn-if-update-available': 3.0.14 async-retry: 1.3.3 + chalk: 4.1.2 change-case: 4.1.2 debug: 4.3.4(supports-color@9.4.0) + ejs: 3.1.9 find-yarn-workspace-root: 2.0.0 fs-extra: 8.1.0 github-slugger: 1.5.0 - got: 11.8.6 + got: 13.0.0 lodash.template: 4.5.0 normalize-package-data: 3.0.3 semver: 7.6.0 sort-package-json: 2.8.0 validate-npm-package-name: 5.0.0 - yeoman-environment: 3.19.3 - yeoman-generator: 5.9.0(yeoman-environment@3.19.3) transitivePeerDependencies: - aws-crt - - bluebird - - encoding - - mem-fs - supports-color dev: true /octal@1.0.0: - resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} + resolution: + { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } dev: true /omit.js@2.0.2: - resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} + resolution: + { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } dev: false /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } + engines: { node: '>=6' } dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } + engines: { node: '>=12' } dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } + engines: { node: '>=18' } dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -12915,27 +13044,32 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} + resolution: + { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } + engines: { node: '>=0.10' } dev: false - /optimism@0.17.5: - resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} + /optimism@0.18.0: + resolution: + { integrity: sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== } dependencies: - '@wry/context': 0.7.3 + '@wry/caches': 1.0.1 + '@wry/context': 0.7.4 '@wry/trie': 0.4.3 tslib: 2.6.2 dev: true /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } + engines: { node: '>= 0.8.0' } dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -12946,8 +13080,9 @@ packages: dev: true /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } + engines: { node: '>=10' } dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -12958,310 +13093,251 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true + dev: false /os-name@5.1.0: - resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true + resolution: + { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } + engines: { node: '>=0.10.0' } /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + resolution: + { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } dev: true /outvariant@1.4.2: - resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} - dev: true - - /p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } dev: true /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } + engines: { node: '>=12.20' } /p-event@4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } + engines: { node: '>=8' } dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } + engines: { node: '>=8' } dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } + engines: { node: '>=8' } dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } + engines: { node: '>=4' } + dev: false /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } + engines: { node: '>=6' } dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } + engines: { node: '>=10' } dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } + engines: { node: '>=18' } dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } + engines: { node: '>=8' } dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } + engines: { node: '>=10' } dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true + resolution: + { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } + engines: { node: '>=6' } /p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } + engines: { node: '>=12' } dependencies: aggregate-error: 4.0.1 dev: false - /p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 - dev: true - /p-queue@8.0.1: - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } + engines: { node: '>=18' } dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } + engines: { node: '>=12' } dev: false /p-retry@5.1.2: - resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } + engines: { node: '>=8' } dependencies: p-finally: 1.0.0 + dev: false /p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } + engines: { node: '>=12' } dev: false /p-timeout@6.1.2: - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } + engines: { node: '>=14.16' } dev: false - /p-transform@1.3.0: - resolution: {integrity: sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==} - engines: {node: '>=12.10.0'} - dependencies: - debug: 4.3.4(supports-color@9.4.0) - p-queue: 6.6.2 - transitivePeerDependencies: - - supports-color - dev: true - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } + engines: { node: '>=6' } dev: true /p-wait-for@4.1.0: - resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} - engines: {node: '>=12'} - dependencies: - p-timeout: 5.1.0 - dev: false - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - dev: true - - /pacote@12.0.3: - resolution: {integrity: sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - hasBin: true - dependencies: - '@npmcli/git': 2.1.0 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/promise-spawn': 1.3.2 - '@npmcli/run-script': 2.0.0 - cacache: 15.3.0 - chownr: 2.0.0 - fs-minipass: 2.1.0 - infer-owner: 1.0.4 - minipass: 3.3.6 - mkdirp: 1.0.4 - npm-package-arg: 8.1.5 - npm-packlist: 3.0.0 - npm-pick-manifest: 6.1.1 - npm-registry-fetch: 12.0.2 - promise-retry: 2.0.1 - read-package-json-fast: 2.0.3 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /pacote@15.2.0: - resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - '@npmcli/git': 4.1.0 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.2 - cacache: 17.1.4 - fs-minipass: 3.0.3 - minipass: 5.0.0 - npm-package-arg: 10.1.0 - npm-packlist: 7.0.4 - npm-pick-manifest: 8.0.2 - npm-registry-fetch: 14.0.5 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 6.0.4 - read-package-json-fast: 3.0.2 - sigstore: 1.9.0 - ssri: 10.0.5 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color + resolution: + { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } + engines: { node: '>=12' } + dependencies: + p-timeout: 5.1.0 + dev: false + + /packet-reader@1.0.0: + resolution: + { integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== } dev: true /papaparse@5.4.1: - resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} + resolution: + { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } dev: false /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + resolution: + { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } + engines: { node: '>=6' } dependencies: callsites: 3.1.0 - /parse-asn1@5.1.6: - resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + /parse-asn1@5.1.7: + resolution: + { integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== } + engines: { node: '>= 0.10' } dependencies: - asn1.js: 5.4.1 + asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 + hash-base: 3.0.4 pbkdf2: 3.1.2 safe-buffer: 5.2.1 dev: true - /parse-conflict-json@2.0.2: - resolution: {integrity: sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - json-parse-even-better-errors: 2.3.1 - just-diff: 5.2.0 - just-diff-apply: 5.5.0 - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + resolution: + { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13272,137 +13348,163 @@ packages: dev: true /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } + engines: { node: '>=4' } dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } + engines: { node: '>=8' } dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } + engines: { node: '>=6' } dev: false /parse-ms@3.0.0: - resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } + engines: { node: '>=12' } dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + resolution: + { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + resolution: + { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } dev: true /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + resolution: + { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } dev: true /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + resolution: + { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} + resolution: + { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } + engines: { node: '>=10' } dev: true /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + resolution: + { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + resolution: + { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } + engines: { node: '>=8' } dev: true /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } + engines: { node: '>=0.10.0' } /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: '>=8' } /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } + engines: { node: '>=12' } /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } + engines: { node: '>=16 || 14 >=14.17' } dependencies: lru-cache: 10.2.0 - minipass: 7.0.3 + minipass: 7.0.4 dev: true /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + resolution: + { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } dev: true /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } + engines: { node: '>=4' } dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } + engines: { node: '>=8' } /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } + engines: { node: '>=12' } - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: + { integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== } dev: true /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + resolution: + { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } dev: true /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + resolution: + { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } + engines: { node: '>=0.12' } dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13412,27 +13514,32 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + resolution: + { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } requiresBuild: true dev: true optional: true /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + resolution: + { integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== } dev: true /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + resolution: + { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } + engines: { node: '>=4.0.0' } dev: true /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } + engines: { node: '>=4' } dev: true /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + resolution: + { integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== } peerDependencies: pg: '>=8.0' dependencies: @@ -13440,12 +13547,14 @@ packages: dev: true /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + resolution: + { integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== } dev: true /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } + engines: { node: '>=4' } dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13455,8 +13564,9 @@ packages: dev: true /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } + engines: { node: '>=10' } dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13468,8 +13578,9 @@ packages: dev: true /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} + resolution: + { integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== } + engines: { node: '>= 8.0.0' } peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13488,137 +13599,160 @@ packages: dev: true /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + resolution: + { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + resolution: + { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: '>=8.6' } /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } + engines: { node: '>=0.10' } hasBin: true dev: true - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } + engines: { node: '>=4' } dev: true /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } + engines: { node: '>=6' } dev: true /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } + engines: { node: '>=14.16' } dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + resolution: + { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 dev: true /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } + engines: { node: '>=4' } + dev: true + + /possible-typed-array-names@1.0.0: + resolution: + { integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== } + engines: { node: '>= 0.4' } dev: true - /postcss-values-parser@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} + /postcss-values-parser@6.0.2(postcss@8.4.38): + resolution: + { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } + engines: { node: '>=10' } peerDependencies: postcss: ^8.2.9 dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.35 + postcss: 8.4.38 quote-unquote: 1.0.0 dev: false - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} + /postcss@8.4.38: + resolution: + { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } + engines: { node: ^10 || ^12 || >=14 } dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } + engines: { node: '>=4' } dev: true /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } + engines: { node: '>=12' } dev: true /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } + engines: { node: '>=0.10.0' } dev: true /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } + engines: { node: '>= 6' } dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } + engines: { node: '>=0.10.0' } dev: true /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } + engines: { node: '>=12' } dev: true /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } + engines: { node: '>=0.10.0' } dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } + engines: { node: '>=12' } dev: true /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + resolution: + { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } + engines: { node: ^14.14.0 || >=16.0.0 } hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -13637,9 +13771,10 @@ packages: - supports-color dev: false - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} - engines: {node: '>=10'} + /preferred-pm@3.1.3: + resolution: + { integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w== } + engines: { node: '>=10' } dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -13648,23 +13783,21 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } + engines: { node: '>= 0.8.0' } dev: true /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + resolution: + { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } + engines: { node: '>=10.13.0' } hasBin: true - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - dev: true - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + resolution: + { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -13672,8 +13805,9 @@ packages: dev: false /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -13681,88 +13815,64 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } + engines: { node: '>=10' } dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } + engines: { node: '>=14.16' } dependencies: parse-ms: 3.0.0 dev: false - /proc-log@1.0.0: - resolution: {integrity: sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==} - dev: true - - /proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /process-es6@0.11.6: - resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} + resolution: + { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } dev: true /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } /process@0.10.1: - resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} - engines: {node: '>= 0.6.0'} + resolution: + { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } + engines: { node: '>= 0.6.0' } dev: false /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - /promise-all-reject-late@1.0.1: - resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} - dev: true - - /promise-call-limit@1.0.2: - resolution: {integrity: sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==} - dev: true - - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - dev: true - - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: true + resolution: + { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } + engines: { node: '>= 0.6.0' } + dev: false /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } + engines: { node: '>= 6' } dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + resolution: + { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 dev: true - /protobufjs@7.2.5: - resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} - engines: {node: '>=12.0.0'} + /protobufjs@7.2.6: + resolution: + { integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw== } + engines: { node: '>=12.0.0' } requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -13775,97 +13885,116 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.29 + '@types/node': 20.11.30 long: 5.2.3 /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + resolution: + { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } dev: false /prr@0.0.0: - resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} + resolution: + { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } dev: true /prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + resolution: + { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } dev: true /ps-list@8.1.1: - resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: false /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + resolution: + { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } dev: true /public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + resolution: + { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 create-hash: 1.2.0 - parse-asn1: 5.1.6 + parse-asn1: 5.1.7 randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + resolution: + { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } dependencies: end-of-stream: 1.4.4 once: 1.4.0 + dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} + /punycode@2.3.1: + resolution: + { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } + engines: { node: '>=6' } - /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} + /qs@6.12.0: + resolution: + { integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg== } + engines: { node: '>=0.6' } dependencies: - side-channel: 1.0.4 + side-channel: 1.0.6 dev: false /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } /queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + resolution: + { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } dev: false /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } + engines: { node: '>=8' } dev: true /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } + engines: { node: '>=10' } /quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + resolution: + { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } dev: false /rambda@7.5.0: - resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} + resolution: + { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } dev: true /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + resolution: + { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + resolution: + { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true - /react-devtools-core@4.28.0: - resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} + /react-devtools-core@4.28.5: + resolution: + { integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== } dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -13875,20 +14004,24 @@ packages: dev: true /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + resolution: + { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } dev: true /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + resolution: + { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } dev: false /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + resolution: + { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } + engines: { node: '>=0.10.0' } peerDependencies: react: ^17.0.2 dependencies: @@ -13899,47 +14032,18 @@ packages: dev: true /react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } + engines: { node: '>=0.10.0' } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true - /read-cmd-shim@3.0.1: - resolution: {integrity: sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - - /read-package-json-fast@2.0.3: - resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} - engines: {node: '>=10'} - dependencies: - json-parse-even-better-errors: 2.3.1 - npm-normalize-package-bin: 1.0.1 - dev: true - - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - - /read-package-json@6.0.4: - resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - glob: 10.3.8 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -13947,8 +14051,9 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -13956,8 +14061,9 @@ packages: dev: false /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } + engines: { node: '>=4' } dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -13965,28 +14071,31 @@ packages: dev: true /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } + engines: { node: '>=8' } dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 dev: true /read-pkg@7.1.0: - resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } + engines: { node: '>=12.20' } dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 2.19.0 dev: false /read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } + engines: { node: '>=6' } dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -13995,7 +14104,8 @@ packages: dev: true /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + resolution: + { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14004,7 +14114,8 @@ packages: dev: true /readable-stream@1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + resolution: + { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14013,7 +14124,8 @@ packages: dev: true /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14024,111 +14136,106 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } + engines: { node: '>= 6' } dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: true - /readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + resolution: + { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } dependencies: minimatch: 5.1.6 dev: false - /readdir-scoped-modules@1.1.0: - resolution: {integrity: sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - debuglog: 1.0.1 - dezalgo: 1.0.4 - graceful-fs: 4.2.11 - once: 1.4.0 - dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + resolution: + { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } + engines: { node: '>=8.10.0' } dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } + engines: { node: '>= 0.10' } dependencies: - resolve: 1.22.6 + resolve: 1.22.8 /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } + engines: { node: '>=8' } dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + resolution: + { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + resolution: + { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } dev: true /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } + engines: { node: '>=4' } dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + resolution: + { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: + { integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== } dev: true /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + resolution: + { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } dependencies: - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.24.1 dev: true /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + resolution: + { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } hasBin: true - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + /regexp.prototype.flags@1.5.2: + resolution: + { integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 dev: true /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } + engines: { node: '>=8' } dev: true /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } + engines: { node: '>=4' } dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14139,22 +14246,40 @@ packages: dev: true /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + resolution: + { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + resolution: + { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } hasBin: true dependencies: jsesc: 0.5.0 dev: true + /rehackt@0.0.6(react@17.0.2): + resolution: + { integrity: sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== } + peerDependencies: + '@types/react': '*' + react: '*' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + dependencies: + react: 17.0.2 + dev: true + /relaxed-json@1.0.3: - resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} - engines: {node: '>= 0.10.0'} + resolution: + { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } + engines: { node: '>= 0.10.0' } hasBin: true dependencies: chalk: 2.4.2 @@ -14162,7 +14287,8 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} + resolution: + { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14171,14 +14297,16 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} + resolution: + { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} + resolution: + { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14187,7 +14315,8 @@ packages: dev: true /remark-parse@9.0.0: - resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} + resolution: + { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14195,81 +14324,91 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + resolution: + { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + dev: false /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - - /replace-ext@1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} + resolution: + { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } + engines: { node: '>=0.10' } dev: true /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } + engines: { node: '>=0.10.0' } /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } + engines: { node: '>=0.10.0' } dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} - engines: {node: '>=8.6.0'} + resolution: + { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } + engines: { node: '>=8.6.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: false - /require-in-the-middle@7.2.0: - resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} - engines: {node: '>=8.6.0'} + /require-in-the-middle@7.2.1: + resolution: + { integrity: sha512-u5XngygsJ+XV2dBV/Pl4SrcNpUXQfmYmXtuFeHDXfzk4i4NnGnret6xKWkkJHjMHS/16yMV9pEAlAunqmjllkA== } + engines: { node: '>=8.6.0' } dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 - resolve: 1.22.6 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolution: + { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } dev: true /require-package-name@2.0.1: - resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} + resolution: + { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } dev: false /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolution: + { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } + engines: { node: '>=4' } /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } + engines: { node: '>=8' } /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } - /resolve@1.22.6: - resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} + /resolve@1.22.8: + resolution: + { integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== } hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: + { integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== } hasBin: true dependencies: is-core-module: 2.13.1 @@ -14278,78 +14417,77 @@ packages: dev: false /response-iterator@0.2.6: - resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} - engines: {node: '>=0.8'} - dev: true - - /responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - dependencies: - lowercase-keys: 2.0.0 + resolution: + { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } + engines: { node: '>=0.8' } dev: true /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } + engines: { node: '>=14.16' } dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } + engines: { node: '>=8' } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: true - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} + resolution: + { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } + engines: { node: '>= 4' } /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: + { integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== } /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } hasBin: true dependencies: glob: 7.2.3 /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } + engines: { node: '>=14' } hasBin: true dependencies: - glob: 10.3.8 + glob: 10.3.10 dev: true /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + resolution: + { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.13.0): - resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } + engines: { node: '>=6' } peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14360,39 +14498,42 @@ packages: semver: 5.7.2 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.2): - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} - engines: {node: '>=16'} + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.4.3): + resolution: + { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } + engines: { node: '>=16' } peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.4 + magic-string: 0.30.8 rollup: 4.13.0 - typescript: 5.4.2 + typescript: 5.4.3 optionalDependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.13.0): - resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} - engines: {node: '>=14.18.0'} + resolution: + { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } + engines: { node: '>=14.18.0' } peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.13.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4(supports-color@9.4.0) - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.2 esbuild: 0.20.2 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 rollup: 4.13.0 transitivePeerDependencies: - supports-color dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} + resolution: + { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14401,7 +14542,8 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} + resolution: + { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14412,33 +14554,38 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} + resolution: + { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} + resolution: + { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} + resolution: + { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + resolution: + { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } dependencies: estree-walker: 0.6.1 dev: true /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg== } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14460,110 +14607,107 @@ packages: dev: true /run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } + engines: { node: '>=18' } dev: false - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - /run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - dev: true + resolution: + { integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== } + engines: { node: '>=0.12.0' } /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + resolution: + { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } dependencies: tslib: 2.6.2 - dev: true - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + /safe-array-concat@1.1.2: + resolution: + { integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== } + engines: { node: '>=0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } /safe-json-stringify@1.2.0: - resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} + resolution: + { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } dev: false - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.3: + resolution: + { integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true /safe-resolve@1.0.0: - resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} + resolution: + { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } dev: true /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true + resolution: + { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } /scheduler@0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + resolution: + { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true - /scoped-regex@2.1.0: - resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} - engines: {node: '>=8'} - dev: true - /semver@2.3.2: - resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} + resolution: + { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } hasBin: true dev: true /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } hasBin: true dev: true /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } + engines: { node: '>=10' } hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + resolution: + { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -14571,19 +14715,35 @@ packages: dev: true /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + resolution: + { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + + /set-function-length@1.2.2: + resolution: + { integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== } + engines: { node: '>= 0.4' } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + /set-function-name@2.0.2: + resolution: + { integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== } + engines: { node: '>= 0.4' } dependencies: - define-data-property: 1.1.0 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 dev: true /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + resolution: + { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } hasBin: true dependencies: inherits: 2.0.4 @@ -14591,34 +14751,40 @@ packages: dev: true /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } + engines: { node: '>=0.10.0' } dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: '>=8' } dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } + engines: { node: '>=0.10.0' } dev: true /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: '>=8' } /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + resolution: + { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } dev: true /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } + engines: { node: '>=4' } hasBin: true dependencies: glob: 7.2.3 @@ -14626,38 +14792,45 @@ packages: rechoir: 0.6.2 /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + resolution: + { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } /should-equal@2.0.0: - resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + resolution: + { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + resolution: + { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + resolution: + { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + resolution: + { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } dev: true /should-util@1.0.1: - resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + resolution: + { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } dev: true /should@13.2.3: - resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + resolution: + { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -14667,64 +14840,60 @@ packages: dev: true /shx@0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } + engines: { node: '>=6' } hasBin: true dependencies: minimist: 1.2.8 shelljs: 0.8.5 dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.6: + resolution: + { integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + resolution: + { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } dev: true /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} - engines: {node: '>=14'} + resolution: + { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } + engines: { node: '>=14' } dev: false /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /sigstore@1.9.0: - resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - '@sigstore/bundle': 1.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 1.0.0 - '@sigstore/tuf': 1.0.3 - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true + resolution: + { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } + engines: { node: '>=14' } /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + resolution: + { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + resolution: + { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } dev: false - /size-limit@11.1.1: - resolution: {integrity: sha512-0d06gwp+hBuhNQyAyewalfMLhGCnjt15MyDxqouzxN4+85vjAUdRKSNuR1kcyxaS9Ml98q120U0PgRPocPJWiw==} - engines: {node: ^18.0.0 || >=20.0.0} + /size-limit@11.1.2: + resolution: + { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true dependencies: bytes-iec: 3.1.1 @@ -14737,21 +14906,25 @@ packages: dev: true /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } + engines: { node: '>=8' } /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } + engines: { node: '>=12' } /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } + engines: { node: '>=14.16' } dev: true /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -14759,37 +14932,36 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } + engines: { node: '>=18' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: true - /smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } + engines: { node: '>=6' } hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -14801,55 +14973,21 @@ packages: dev: true /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + resolution: + { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true - /socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - - /socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2(supports-color@9.4.0) - debug: 4.3.4(supports-color@9.4.0) - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: true - - /sort-keys@4.2.0: - resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} - engines: {node: '>=8'} - dependencies: - is-plain-obj: 2.1.0 - dev: true - /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + resolution: + { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } dev: true /sort-package-json@2.8.0: - resolution: {integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g==} + resolution: + { integrity: sha512-PxeNg93bTJWmDGnu0HADDucoxfFiKkIr73Kv85EBThlI1YQPdc0XovBgg2llD0iABZbu2SlKo8ntGmOP9wOj/g== } hasBin: true dependencies: detect-indent: 7.0.1 @@ -14861,304 +14999,313 @@ packages: sort-object-keys: 1.1.3 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: + { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } + engines: { node: '>=0.10.0' } /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } + engines: { node: '>=0.10.0' } requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + resolution: + { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + resolution: + { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.15 + spdx-license-ids: 3.0.17 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: + { integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== } /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.15 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 - /spdx-license-ids@3.0.15: - resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} + /spdx-license-ids@3.0.17: + resolution: + { integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== } /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} + resolution: + { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } + engines: { node: '>= 10.x' } dev: true /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: true - - /ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - - /ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 - dev: true + resolution: + { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } /stack-generator@2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + resolution: + { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } + engines: { node: '>=10' } dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + resolution: + { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } dev: true /stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + resolution: + { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } dev: false /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + resolution: + { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } + engines: { node: '>= 0.8' } dev: true - /std-env@3.6.0: - resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + /std-env@3.7.0: + resolution: + { integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== } dev: true /stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + resolution: + { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } dependencies: - mixme: 0.5.9 + mixme: 0.5.10 dev: true - /streamx@2.15.1: - resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + /streamx@2.16.1: + resolution: + { integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== } dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.2 dev: false /strict-event-emitter@0.5.1: - resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + resolution: + { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } dev: true /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} + resolution: + { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } + engines: { node: '>=0.6.19' } dev: true /string-range@1.2.2: - resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} + resolution: + { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } dev: true /string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} + resolution: + { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } dev: false /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: '>=8' } dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: '>=12' } dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string-width@7.0.0: - resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} - engines: {node: '>=18'} + /string-width@7.1.0: + resolution: + { integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== } + engines: { node: '>=18' } dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + /string.prototype.trim@1.2.9: + resolution: + { integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.8: + resolution: + { integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: + { integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-object-atoms: 1.0.0 dev: true /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + resolution: + { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } dev: true /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: '>=8' } dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: '>=12' } dependencies: ansi-regex: 6.0.1 - /strip-bom-buf@1.0.0: - resolution: {integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==} - engines: {node: '>=4'} - dependencies: - is-utf8: 0.2.1 - dev: true - - /strip-bom-stream@2.0.0: - resolution: {integrity: sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==} - engines: {node: '>=0.10.0'} - dependencies: - first-chunk-stream: 2.0.0 - strip-bom: 2.0.0 - dev: true - - /strip-bom@2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } + engines: { node: '>=4' } dev: true /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } + engines: { node: '>=6' } + dev: false /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } + engines: { node: '>=12' } /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } + engines: { node: '>=8' } dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } + engines: { node: '>=8' } dev: true /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + resolution: + { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + resolution: + { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } dev: true /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } + engines: { node: '>=10' } dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } + engines: { node: '>=12' } /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } + engines: { node: '>= 0.4' } /swagger2openapi@7.0.8: - resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + resolution: + { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15177,18 +15324,21 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} - engines: {node: '>=0.10'} + resolution: + { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } + engines: { node: '>=0.10' } dev: true /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } + engines: { node: '>=6' } dev: true /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } + engines: { node: '>=6' } dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15197,17 +15347,19 @@ packages: readable-stream: 3.6.2 dev: false - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + /tar-stream@3.1.7: + resolution: + { integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== } dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.1 + streamx: 2.16.1 dev: false - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} + /tar@6.2.1: + resolution: + { integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== } + engines: { node: '>=10' } dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15215,156 +15367,169 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 + dev: false /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } + engines: { node: '>=8' } dev: true /terminal-link@3.0.0: - resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } + engines: { node: '>=12' } dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - /textextensions@5.16.0: - resolution: {integrity: sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==} - engines: {node: '>=0.8'} - dev: true + resolution: + { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + resolution: + { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } + engines: { node: '>=0.8' } dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + resolution: + { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} - engines: {node: '>= 0.10.x'} + resolution: + { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } + engines: { node: '>= 0.10.x' } hasBin: true dependencies: - bufrw: 1.3.0 + bufrw: 1.4.0 error: 7.0.2 long: 2.4.0 dev: false - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /time-span@4.0.0: - resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } + engines: { node: '>=10' } dependencies: convert-hrtime: 3.0.0 dev: false - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + /tinybench@2.6.0: + resolution: + { integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA== } dev: true /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} + resolution: + { integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== } + engines: { node: '>=14.0.0' } dev: true - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} + /tinyspy@2.2.1: + resolution: + { integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== } + engines: { node: '>=14.0.0' } dev: true /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + resolution: + { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + resolution: + { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } + engines: { node: '>=0.6.0' } dependencies: os-tmpdir: 1.0.2 - dev: true /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} + resolution: + { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } + engines: { node: '>=14.14' } dev: false /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } + engines: { node: '>=4' } /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: '>=8.0' } dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + resolution: + { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } dev: false /tomlify-j0.4@3.0.0: - resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} + resolution: + { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } dev: false /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + resolution: + { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } - /traverse@0.6.7: - resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} - dev: true - - /treeverse@1.0.4: - resolution: {integrity: sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==} + /traverse@0.6.8: + resolution: + { integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== } + engines: { node: '>= 0.4' } dev: true /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } + engines: { node: '>=8' } dev: true /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + resolution: + { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } dev: true - /ts-api-utils@1.0.3(typescript@5.4.2): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.3.0(typescript@5.4.3): + resolution: + { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } + engines: { node: '>=16' } peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.2 + typescript: 5.4.3 dev: true /ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } + engines: { node: '>=8' } dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} + resolution: + { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 - /ts-node@10.9.2(@types/node@20.11.29)(typescript@5.4.2): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + /ts-node@10.9.2(@types/node@20.11.30)(typescript@5.4.3): + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15382,19 +15547,20 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.29 - acorn: 8.10.0 - acorn-walk: 8.2.0 + '@types/node': 20.11.30 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.2 + typescript: 5.4.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + resolution: + { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15403,14 +15569,17 @@ packages: dev: true /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + resolution: + { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } /tsutils@3.21.0(typescript@4.8.2): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15418,30 +15587,33 @@ packages: typescript: 4.8.2 dev: true - /tsutils@3.21.0(typescript@5.4.2): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + /tsutils@3.21.0(typescript@5.4.3): + resolution: + { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } + engines: { node: '>= 6' } peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.2 + typescript: 5.4.3 dev: false /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} + resolution: + { integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g== } + engines: { node: '>=18.0.0' } hasBin: true dependencies: - esbuild: 0.19.11 - get-tsconfig: 4.7.2 + esbuild: 0.19.12 + get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 dev: true - /tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} - engines: {node: '>=8.0.0'} + /tty-table@4.2.3: + resolution: + { integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA== } + engines: { node: '>=8.0.0' } hasBin: true dependencies: chalk: 4.1.2 @@ -15453,262 +15625,290 @@ packages: yargs: 17.7.2 dev: true - /tuf-js@1.1.7: - resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@tufjs/models': 1.0.4 - debug: 4.3.4(supports-color@9.4.0) - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + resolution: + { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } dependencies: safe-buffer: 5.2.1 dev: true - /turbo-darwin-64@1.12.5: - resolution: {integrity: sha512-0GZ8reftwNQgIQLHkHjHEXTc/Z1NJm+YjsrBP+qhM/7yIZ3TEy9gJhuogDt2U0xIWwFgisTyzbtU7xNaQydtoA==} + /turbo-darwin-64@1.13.0: + resolution: + { integrity: sha512-ctHeJXtQgBcgxnCXwrJTGiq57HtwF7zWz5NTuSv//5yeU01BtQIt62ArKfjudOhRefWJbX3Z5srn88XTb9hfww== } cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.12.5: - resolution: {integrity: sha512-8WpOLNNzvH6kohQOjihD+gaWL+ZFNfjvBwhOF0rjEzvW+YR3Pa7KjhulrjWyeN2yMFqAPubTbZIGOz1EVXLuQA==} + /turbo-darwin-arm64@1.13.0: + resolution: + { integrity: sha512-/Q9/pNFkF9w83tNxwMpgapwLYdQ12p8mpty2YQRoUiS9ClWkcqe136jR0mtuMqzlNlpREOFZaoyIthjt6Sdo0g== } cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.12.5: - resolution: {integrity: sha512-INit73+bNUpwqGZCxgXCR3I+cQsdkQ3/LkfkgSOibkpg+oGqxJRzeXw3sp990d7SCoE8QOcs3iw+PtiFX/LDAA==} + /turbo-linux-64@1.13.0: + resolution: + { integrity: sha512-hgbT7o020BGV4L7Sd8hhFTd5zVKPKxbsr0dPfel/9NkdTmptz2aGZ0Vb2MAa18SY3XaCQpDxmdYuOzvvRpo5ZA== } cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.12.5: - resolution: {integrity: sha512-6lkRBvxtI/GQdGtaAec9LvVQUoRw6nXFp0kM+Eu+5PbZqq7yn6cMkgDJLI08zdeui36yXhone8XGI8pHg8bpUQ==} + /turbo-linux-arm64@1.13.0: + resolution: + { integrity: sha512-WK01i2wDZARrV+HEs495A3hNeGMwQR5suYk7G+ceqqW7b+dOTlQdvUjnI3sg7wAnZPgjafFs/hoBaZdJjVa/nw== } cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.12.5: - resolution: {integrity: sha512-gQYbOhZg5Ww0bQ/bC0w/4W6yQRwBumUUnkB+QPo15VznwxZe2a7bo6JM+9Xy9dKLa/kn+p7zTqme4OEp6M3/Yg==} + /turbo-windows-64@1.13.0: + resolution: + { integrity: sha512-hJgSZJZwlWHNwLEthaqJqJWGm4NqF5X/I7vE0sPE4i/jeDl8f0n1hcOkgJkJiNXVxhj+qy/9+4dzbPLKT9imaQ== } cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.12.5: - resolution: {integrity: sha512-auvhZ9FrhnvQ4mgBlY9O68MT4dIfprYGvd2uPICba/mHUZZvVy5SGgbHJ0KbMwaJfnnFoPgLJO6M+3N2gDprKw==} + /turbo-windows-arm64@1.13.0: + resolution: + { integrity: sha512-L/ErxYoXeq8tmjU/AIGicC9VyBN1zdYw8JlM4yPmMI0pJdY8E4GaYK1IiIazqq7M72lmQhU/WW7fV9FqEktwrw== } cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.12.5: - resolution: {integrity: sha512-FATU5EnhrYG8RvQJYFJnDd18DpccDjyvd53hggw9T9JEg9BhWtIEoeaKtBjYbpXwOVrJQMDdXcIB4f2nD3QPPg==} + /turbo@1.13.0: + resolution: + { integrity: sha512-r02GtNmkOPcQvUzVE6lg474QVLyU02r3yh3lUGqrFHf5h5ZEjgDGWILsAUqplVqjri1Y/oOkTssks4CObTAaiw== } hasBin: true optionalDependencies: - turbo-darwin-64: 1.12.5 - turbo-darwin-arm64: 1.12.5 - turbo-linux-64: 1.12.5 - turbo-linux-arm64: 1.12.5 - turbo-windows-64: 1.12.5 - turbo-windows-arm64: 1.12.5 + turbo-darwin-64: 1.13.0 + turbo-darwin-arm64: 1.13.0 + turbo-linux-64: 1.13.0 + turbo-linux-arm64: 1.13.0 + turbo-windows-64: 1.13.0 + turbo-windows-arm64: 1.13.0 dev: true /typanion@3.14.0: - resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} + resolution: + { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } dev: true /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } + engines: { node: '>=4' } dev: true /type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } + engines: { node: '>=10' } dev: true /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } + engines: { node: '>=10' } dev: true /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } + engines: { node: '>=10' } dev: true /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } + engines: { node: '>=10' } /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } + engines: { node: '>=8' } dev: true /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } + engines: { node: '>=8' } dev: true /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } + engines: { node: '>=10' } dev: false /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } + engines: { node: '>=12.20' } dev: false /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} + resolution: + { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } + engines: { node: '>=14.16' } - /type-fest@4.9.0: - resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} - engines: {node: '>=16'} + /type-fest@4.13.1: + resolution: + { integrity: sha512-ASMgM+Vf2cLwDMt1KXSkMUDSYCxtckDJs8zsaVF/mYteIsiARKCVtyXtcK38mIKbLTctZP8v6GMqdNaeI3fo7g== } + engines: { node: '>=16' } dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + /typed-array-buffer@1.0.2: + resolution: + { integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + /typed-array-byte-length@1.0.1: + resolution: + { integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + /typed-array-byte-offset@1.0.2: + resolution: + { integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== } + engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length@1.0.6: + resolution: + { integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 dev: true /typedarray-to-buffer@1.0.4: - resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} + resolution: + { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } dev: true /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + resolution: + { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } dev: true /typescript@4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} - engines: {node: '>=4.2.0'} + resolution: + { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } + engines: { node: '>=4.2.0' } hasBin: true dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - dev: false - - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} + /typescript@5.4.3: + resolution: + { integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== } + engines: { node: '>=14.17' } hasBin: true - /ufo@1.3.0: - resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + /ufo@1.5.3: + resolution: + { integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== } dev: true /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + resolution: + { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + resolution: + { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } dev: true /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + resolution: + { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } + engines: { node: '>=4' } dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } + engines: { node: '>=4' } dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } + engines: { node: '>=4' } dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} + resolution: + { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } + engines: { node: '>=4' } dev: true /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } + engines: { node: '>=18' } dev: true /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + resolution: + { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 bail: 1.0.5 extend: 3.0.2 is-buffer: 2.0.5 @@ -15717,223 +15917,168 @@ packages: vfile: 4.2.1 dev: true - /unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - dependencies: - unique-slug: 2.0.2 - dev: true - - /unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - unique-slug: 3.0.0 - dev: true - - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - unique-slug: 4.0.0 - dev: true - - /unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - dependencies: - imurmurhash: 0.1.4 - dev: true - - /unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + resolution: + { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } dev: true /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + resolution: + { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 dev: true /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + resolution: + { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 dev: true - /universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} - dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } + engines: { node: '>= 4.0.0' } dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + /universalify@2.0.1: + resolution: + { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } + engines: { node: '>= 10.0.0' } dev: true /unix-dgram@2.0.6: - resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} - engines: {node: '>=0.10.48'} + resolution: + { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } + engines: { node: '>=0.10.48' } requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.18.0 + nan: 2.19.0 dev: false optional: true /unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} + resolution: + { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } + engines: { node: '>=0.10.0' } dependencies: normalize-path: 2.1.1 dev: false - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: true - - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: + { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 /update-section@0.3.3: - resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} + resolution: + { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } dev: true /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + resolution: + { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + resolution: + { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + resolution: + { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } dev: false /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + resolution: + { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } hasBin: true /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + resolution: + { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } hasBin: true dev: false /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + resolution: + { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - /validate-npm-package-name@3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} - dependencies: - builtins: 1.0.3 - dev: true - /validate-npm-package-name@4.0.0: - resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + resolution: + { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + resolution: + { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } dependencies: - '@types/unist': 2.0.8 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 dev: true - /vinyl-file@3.0.0: - resolution: {integrity: sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - strip-bom-buf: 1.0.0 - strip-bom-stream: 2.0.0 - vinyl: 2.2.1 - dev: true - - /vinyl@2.2.1: - resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} - engines: {node: '>= 0.10'} - dependencies: - clone: 2.1.2 - clone-buffer: 1.0.0 - clone-stats: 1.0.0 - cloneable-readable: 1.1.3 - remove-trailing-separator: 1.1.0 - replace-ext: 1.0.1 - dev: true - - /vite-node@1.4.0(@types/node@20.11.29): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} + /vite-node@1.4.0(@types/node@20.11.30): + resolution: + { integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@9.4.0) - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.29) + vite: 5.2.2(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -15945,9 +16090,10 @@ packages: - terser dev: true - /vite@5.1.6(@types/node@20.11.29): - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} - engines: {node: ^18.0.0 || >=20.0.0} + /vite@5.2.2(@types/node@20.11.30): + resolution: + { integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -15973,17 +16119,18 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.29 - esbuild: 0.19.11 - postcss: 8.4.35 + '@types/node': 20.11.30 + esbuild: 0.20.2 + postcss: 8.4.38 rollup: 4.13.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.29): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} + /vitest@1.4.0(@types/node@20.11.30): + resolution: + { integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw== } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16006,26 +16153,26 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 '@vitest/spy': 1.4.0 '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 - chai: 4.3.10 + chai: 4.4.1 debug: 4.3.4(supports-color@9.4.0) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 picocolors: 1.0.0 - std-env: 3.6.0 + std-env: 3.7.0 strip-literal: 2.0.0 - tinybench: 2.5.1 + tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.29) - vite-node: 1.4.0(@types/node@20.11.29) + vite: 5.2.2(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -16038,35 +16185,36 @@ packages: dev: true /vlq@0.2.3: - resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} - dev: true - - /walk-up-path@1.0.0: - resolution: {integrity: sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==} + resolution: + { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } dev: true /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + resolution: + { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } dependencies: defaults: 1.0.4 - dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} + /web-streams-polyfill@3.3.3: + resolution: + { integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== } + engines: { node: '>= 8' } dev: false /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + resolution: + { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + resolution: + { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + resolution: + { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16076,61 +16224,60 @@ packages: dev: true /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + resolution: + { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } dev: true /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} + resolution: + { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } + engines: { node: '>=8.15' } dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} + /which-typed-array@1.1.15: + resolution: + { integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== } + engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + resolution: + { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: '>= 8' } hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} + resolution: + { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } + engines: { node: ^16.13.0 || >=18.0.0 } hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } + engines: { node: '>=8' } hasBin: true dependencies: siginfo: 2.0.0 @@ -16138,46 +16285,53 @@ packages: dev: true /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + resolution: + { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } dependencies: string-width: 4.2.3 + dev: false /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } + engines: { node: '>=8' } dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + resolution: + { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16185,28 +16339,23 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + resolution: + { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } + engines: { node: '>=18' } dependencies: ansi-styles: 6.2.1 - string-width: 7.0.0 + string-width: 7.1.0 strip-ansi: 7.1.0 dev: true /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: true + resolution: + { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} + resolution: + { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } + engines: { node: '>=8.3.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16218,86 +16367,103 @@ packages: dev: true /xorshift@1.2.0: - resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} + resolution: + { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } dev: false /xtend@2.0.6: - resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } + engines: { node: '>=0.4' } dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } + engines: { node: '>=0.4' } dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } + engines: { node: '>=0.4' } dev: true /xtend@3.0.0: - resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } + engines: { node: '>=0.4' } dev: true /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } + engines: { node: '>=0.4' } /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + resolution: + { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } dev: true /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } + engines: { node: '>=10' } /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + resolution: + { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } dev: true /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } + engines: { node: '>= 6' } dev: true /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + resolution: + { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } + engines: { node: '>= 14' } dev: true /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } + engines: { node: '>=6' } dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } + engines: { node: '>=10' } dev: true /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } + engines: { node: '>=12' } /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } + engines: { node: '>=8' } dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16313,11 +16479,12 @@ packages: dev: true /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } + engines: { node: '>=10' } dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -16326,153 +16493,85 @@ packages: dev: true /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } + engines: { node: '>=12' } dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - /yarn@1.22.21: - resolution: {integrity: sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg==} - engines: {node: '>=4.0.0'} + /yarn@1.22.22: + resolution: + { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } + engines: { node: '>=4.0.0' } hasBin: true requiresBuild: true dev: false - /yeoman-environment@3.19.3: - resolution: {integrity: sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==} - engines: {node: '>=12.10.0'} - hasBin: true - dependencies: - '@npmcli/arborist': 4.3.1 - are-we-there-yet: 2.0.0 - arrify: 2.0.1 - binaryextensions: 4.18.0 - chalk: 4.1.2 - cli-table: 0.3.11 - commander: 7.1.0 - dateformat: 4.6.3 - debug: 4.3.4(supports-color@9.4.0) - diff: 5.1.0 - error: 10.4.0 - escape-string-regexp: 4.0.0 - execa: 5.1.1 - find-up: 5.0.0 - globby: 11.1.0 - grouped-queue: 2.0.0 - inquirer: 8.2.6 - is-scoped: 2.1.0 - isbinaryfile: 4.0.10 - lodash: 4.17.21 - log-symbols: 4.1.0 - mem-fs: 2.3.0 - mem-fs-editor: 9.7.0(mem-fs@2.3.0) - minimatch: 3.1.2 - npmlog: 5.0.1 - p-queue: 6.6.2 - p-transform: 1.3.0 - pacote: 12.0.3 - preferred-pm: 3.1.2 - pretty-bytes: 5.6.0 - readable-stream: 4.4.2 - semver: 7.6.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - text-table: 0.2.0 - textextensions: 5.16.0 - untildify: 4.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /yeoman-generator@5.9.0(yeoman-environment@3.19.3): - resolution: {integrity: sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw==} - engines: {node: '>=12.10.0'} - peerDependencies: - yeoman-environment: ^3.2.0 - peerDependenciesMeta: - yeoman-environment: - optional: true - dependencies: - chalk: 4.1.2 - dargs: 7.0.0 - debug: 4.3.4(supports-color@9.4.0) - execa: 5.1.1 - github-username: 6.0.0 - lodash: 4.17.21 - mem-fs-editor: 9.7.0(mem-fs@2.3.0) - minimist: 1.2.8 - pacote: 15.2.0 - read-pkg-up: 7.0.1 - run-async: 2.4.1 - semver: 7.6.0 - shelljs: 0.8.5 - sort-keys: 4.2.0 - text-table: 0.2.0 - yeoman-environment: 3.19.3 - transitivePeerDependencies: - - bluebird - - encoding - - mem-fs - - supports-color - dev: true - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} + resolution: + { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } + engines: { node: '>=6' } /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } + engines: { node: '>=10' } dev: true /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + resolution: + { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } + engines: { node: '>=12.20' } /yoga-layout-prebuilt@1.10.0: - resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} - engines: {node: '>=8'} + resolution: + { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } + engines: { node: '>=8' } dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} + resolution: + { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + resolution: + { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } dev: true /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} + resolution: + { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } + engines: { node: '>= 10' } dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 readable-stream: 3.6.2 dev: false - /zip-stream@5.0.1: - resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} - engines: {node: '>= 12.0.0'} + /zip-stream@5.0.2: + resolution: + { integrity: sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g== } + engines: { node: '>= 12.0.0' } dependencies: archiver-utils: 4.0.1 - compress-commons: 5.0.1 + compress-commons: 5.0.3 readable-stream: 3.6.2 dev: false /zod-to-json-schema@3.22.4(zod@3.22.4): - resolution: {integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ==} + resolution: + { integrity: sha512-2Ed5dJ+n/O3cU383xSY28cuVi0BCQhF8nYqWU5paEpl7fVdqdAmiLdqLyfblbNdfOFwFfi/mqU4O1pwc60iBhQ== } peerDependencies: zod: ^3.22.4 dependencies: @@ -16480,8 +16579,10 @@ packages: dev: false /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + resolution: + { integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== } /zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + resolution: + { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } dev: true From c19354c6f4cbdbb87d75dd90dabe5c44b0425b67 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 2 Apr 2024 11:49:47 +0200 Subject: [PATCH 012/145] wip --- cli/src/commands/schema/edit.ts | 763 +++++++++++++++++++++++++++++--- 1 file changed, 693 insertions(+), 70 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index e8b7e91ed..7472c8e03 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -4,7 +4,7 @@ import { BaseCommand } from '../../base.js'; // import schemas from "@xata.io/pgroll" import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; -import { PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; +import { OpAlterColumn, OpCreateTable, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; // Add table @@ -14,12 +14,343 @@ import enquirer from 'enquirer'; // Edit column // Delete column -const currentMigration: PgRollMigration = { operations: [] }; +const dummySchema = { + "branchName": "main", + "createdAt": "2024-04-02T06:40:39.989Z", + "databaseName": "csv", + "id": "bb_fipug7tus17st2pgt6l07q3bn8_o2i56v", + "lastMigrationID": "", + "version": 1, + "metadata": {}, + "schema": { + "tables": [ + { + "name": "44", + "xataCompatible": true, + "checkConstraints": { + "44_xata_id_length_xata_id": { + "name": "44_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + }, + "44_xata_string_length_stringggrenamed": { + "name": "44_xata_string_length_stringggrenamed", + "columns": [ + "emm" + ], + "definition": "CHECK ((length(emm) <= 2048))" + }, + "44_xata_string_length_test": { + "name": "44_xata_string_length_test", + "columns": [ + "test" + ], + "definition": "CHECK ((length(test) <= 2048))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "44_stringggrenamed_unique": { + "name": "44_stringggrenamed_unique", + "columns": [ + "emm" + ] + }, + "_pgroll_new_44_xata_id_key": { + "name": "_pgroll_new_44_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4563954", + "columns": [ + { + "name": "emm", + "type": "text", + "pgType": "text", + "notNull": false, + "unique": true, + "defaultValue": null + }, + { + "name": "percentageeee", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "price", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbol", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "test", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + { + "name": "678", + "xataCompatible": true, + "checkConstraints": { + "678_xata_id_length_xata_id": { + "name": "678_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "678_percentageee_unique": { + "name": "678_percentageee_unique", + "columns": [ + "percentageee" + ] + }, + "_pgroll_new_678_xata_id_key": { + "name": "_pgroll_new_678_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4564039", + "columns": [ + { + "name": "percentageee", + "type": "float", + "pgType": "double precision", + "notNull": true, + "unique": true, + "defaultValue": null + }, + { + "name": "pricer", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbolll", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + { + "name": "emily", + "xataCompatible": true, + "checkConstraints": { + "678_xata_id_length_xata_id": { + "name": "678_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "678_percentageee_unique": { + "name": "678_percentageee_unique", + "columns": [ + "percentageee" + ] + }, + "_pgroll_new_678_xata_id_key": { + "name": "_pgroll_new_678_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4564039", + "columns": [ + { + "name": "percentageee", + "type": "float", + "pgType": "double precision", + "notNull": true, + "unique": true, + "defaultValue": null + }, + { + "name": "pricer", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbolll", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + ] + } +} const { Select, Snippet, Confirm } = enquirer as any; -type BranchSchema = Schemas.BranchSchema - type TableAdd = { name: string; columns: ColumnAdd[]; @@ -27,12 +358,22 @@ type TableAdd = { type TableEdit = { name: string; + newName: string; + columns: ColumnEdit[]; +} + +type TableDelete = { + name: string; } type ColumnEdit = { name: string; unique: boolean; nullable: boolean; + originalName: string; + tableName: string + defaultValue: any + type: string } type ColumnAdd = { @@ -54,24 +395,24 @@ const notNullUnsupportedTypes = defaultValueUnsupportedTypes; type SelectChoice = { name: | { - type: 'space' | 'add-table' | 'edit-table' | 'add-column' | 'edit-column'; + type: 'space' | 'migrate' | 'schema'; } | { type: 'add-table'; table: TableAdd } - | { - type: 'add-column'; - table: TableEdit; - } | { type: 'edit-table'; table: TableEdit; } + | { + type: 'add-column'; + tableName: string; + } | { type: 'edit-column'; column: ColumnEdit; - }; + } message: string; role?: string; choices?: SelectChoice[]; @@ -79,44 +420,10 @@ type SelectChoice = { hint?: string; } -// Delete will be backspace - const createSpace = (): SelectChoice => { return { name: { type: 'space' }, message: ' ', role: 'heading' }; } -const createColumnChoices = (): SelectChoice[] => { - // TODO all the tables columns - return [{ - name: { type: 'edit-column', column: { - name: 'fakecolumn', - unique: false, - nullable: true - }}, - message: `- ${chalk.cyan("Fake Column Name 1")}`, - hint: 'Edit a column in a table' - }, - // Always an extra add column - { - name: { type: 'add-column' }, - message: `${chalk.green('+')} Add a column`, - hint: 'Add a column to a table' - }] -} - - -const tableChoices: SelectChoice[] = [createSpace(), { - name: { type: 'edit-table', table: {name: 'faketable'}}, - message: `• ${chalk.bold("Fake Table Name")}`, - choices: createColumnChoices() -}, createSpace(), { - name: { type: 'edit-table', table: {name: 'faketable2'}}, - message: `• ${chalk.bold("Fake Table Name2")}`, - choices: createColumnChoices() -}, createSpace(), { - message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: {columns: [], name: 'faketable'}}, -},] export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -141,14 +448,108 @@ export default class EditSchema extends BaseCommand { tableAdditions: TableAdd[] = []; tableEdits: TableEdit[] = []; + tableDeletions: TableDelete[] = []; columnAdditions: ColumnAdd[] = []; columnEdits: ColumnEdit[] = []; + columnDeletions: { [tableName: string]: string[] } = {}; + + currentMigration: PgRollMigration = { operations: [] }; - async run(): Promise { - const { flags } = await this.parseCommand(); + selectItem: ColumnEdit | TableEdit | null = null; + flatChoices: SelectChoice[] = [] - const operations: PgRollMigration["operations"][number][] = [] + + editsToMigrations = () => { + // TODO rename table and rename columns go last + const tableEdits: {rename_table: OpRenameTable}[] = this.tableEdits.map(({name, newName}) => { + return {rename_table: { + type: 'rename_table', + from: name, + to: newName + }} + }) + this.currentMigration.operations.push(...tableEdits) + const tableDeletions: {drop_table: OpDropTable}[] = this.tableDeletions.map(({name}) => { + return {drop_table: { + type: 'drop_table', + name: name + }} + }) + // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS + this.currentMigration.operations.push(...tableDeletions) + const columnEdits: {alter_column: OpAlterColumn}[] = this.columnEdits.map(({originalName, tableName, name}) => { + const edit: {alter_column: OpAlterColumn} = {alter_column: { + column: originalName, + table: tableName, + nullable: false, + name: originalName !== name ? name : undefined, + }} + return edit + }) + this.currentMigration.operations.push(...columnEdits) + + const columnDeletions: {drop_column: OpAlterColumn}[] = Object.entries(this.columnDeletions).map((entry) => { + return entry[1].map((e) => { + return { + drop_column: { + type: 'drop_column', + column: e, + table: entry[0] + } + } + })}).flat().filter((operation) => !this.tableDeletions.some(({name}) => operation.drop_column.table === name)) + this.currentMigration.operations.push(...columnDeletions) + // const tableAdditions: {create_table: OpCreateTable}[] = this.tableAdditions.map(({name}) => { + // return {create_table: { + // type: 'create_table', + // name: name, + // columns: [], + // }} + // }) + // this.currentMigration.operations.push(...tableAdditions) + // todo column add + // todo column remove + // todo column edit + } + + renderColumnName({column}: {column: ColumnEdit}) { + // TODO link columns + const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); + const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); + const tableDelete = this.tableDeletions.find(({name}) => name === column.tableName); + + const metadata = [ + `${chalk.gray.italic(column.type)}`, + column.unique ? chalk.gray.italic('unique') : '', + column.nullable ? chalk.gray.italic('not null') : '', + column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' + ].filter(Boolean) + .join(' '); + + if (columnDelete || tableDelete) { + return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})` + } + if (columnEdit) { + // TODO show separate field edits if name not changed + return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})` + } + return `- ${chalk.cyan(column.originalName)} (${metadata})` + } + + renderTableName(originalName: string) { + const tableEdit = this.tableEdits.find(({name}) => name === originalName); + const tableDelete = this.tableDeletions.find(({name}) => name === originalName); + if (tableDelete) { + return `• ${chalk.red.strikethrough(originalName)}` + } + if (tableEdit) { + return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}` + } + return `• ${chalk.bold(originalName)}`; + } + + async run(): Promise { await this.showSchemaEdit() } @@ -164,49 +565,262 @@ export default class EditSchema extends BaseCommand { name: 'name', message: 'The table name', validate(value: string, state: unknown, item: unknown, index: number) { - return true + // TODO make sure no other tables have this name + return value !== "" ? true : "Name cannot be empty" } } async showSchemaEdit() { + this.flatChoices = [] + const tableChoices: SelectChoice[] = [] + + let index = -1 + + for (const table of dummySchema.schema.tables) { + index = index + 1 + const columns = Object.values(table.columns); + const columnChoices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column, columnIndex) => { + const col: ColumnEdit = { + name: column.name, + unique: column.unique, + nullable: column.notNull, + tableName: table.name, + originalName: column.name, + defaultValue: column.defaultValue, + type: column.type + } + const item = { + name: { type: "edit-column", + column: col + }, + message: this.renderColumnName({column: col}) + } as any + if ((this.selectItem as any)?.originalName === col?.originalName && (this.selectItem as any)?.tableName === col?.tableName) index = this.flatChoices.length + columnIndex + 1; + return item + }) + + // TODO disable when deleted + columnChoices.push({ + name: { type: 'add-column', tableName: table.name }, + message: `${chalk.green('+')} Add a column`, + hint: 'Add a column to a table' + }) + + const editTable: SelectChoice = { + name: { type: 'edit-table', table: {name: table.name, newName: table.name, columns: [] }}, + message: this.renderTableName(table.name), + choices: columnChoices, + } + + this.flatChoices.push(editTable, ...columnChoices) + tableChoices.push(editTable) + const indexOfTable = this.flatChoices.findIndex(({name}) => name === editTable.name) + console.log("index of table", indexOfTable) + if ((this.selectItem as any)?.name === (editTable.name as any).table?.name) index = indexOfTable ?? 0 + + } + + const formatting: SelectChoice[] = [ + createSpace(),{ + message: `${chalk.green('+')} Add a table`, + name: { type: 'add-table', table: {columns: [], name : ''}}, + }, + { + message: `${chalk.green('►')} Run migration`, + name: { type: 'migrate' }, + hint: "Run the migration" + } + ] + tableChoices.push(...formatting) const select = new Select({ message: 'Schema for database test:main', - choices: tableChoices, + initial: index, + choices: [ + { + name: { type: 'schema' }, + message: 'Tables', + role: 'heading', + choices: tableChoices + }, + ], footer: 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' }); - + select.on('keypress', async (char: string, key: { name: string; action: string }) => { - const flatChoice = tableChoices[select.state.index]; + const flatChoice = this.flatChoices[select.state.index - 1]; + // console.log("flat choice exists", flatChoice) try { - const choice = flatChoice.name; + if (key.name === 'backspace' || key.name === 'delete') { + + if (!flatChoice) return; // add table is not here for example + const choice = flatChoice.name; + + if (typeof choice !== 'object') return; + + // TODO disabling if (choice.type === 'edit-table') { - await select.cancel(); - await this.showTableEdit(); + await select.cancel(); + await this.toggleTableDelete({initialTableName: choice.table.name}); + await this.showSchemaEdit() + } + if (choice.type === 'edit-column') { + await select.cancel(); + await this.toggleColumnDelete(choice); + await this.showSchemaEdit() } - } catch (error) {} + } + } catch (err) { + if (err) throw err; + this.clear(); + } }); - + try { const result = await select.run(); if (result.type === 'add-table') { + } else if (result.type === "edit-column") { + // todo typesafe + this.selectItem = result.column + + if (!this.tableDeletions.find(({name}) => name === result.column.tableName)) { + await this.showColumnEdit(result.column); + } + await select.cancel(); + // await this.showSchemaEdit(); } else if (result.type === 'edit-table') { - await this.showTableEdit(); - } + this.selectItem = result.table; + if (!this.tableDeletions.find(({name}) => name === result.table.name)) { + await this.showTableEdit({initialTableName: result.table.name}); + } + await select.cancel(); + // await this.showSchemaEdit(); + // todo prevent from exiting + } else if (result.type === "add-column") { + } else if (result.type === 'migrate') { + this.editsToMigrations() + if (validateMigration(this.currentMigration)) { + // TODO prompt confirm + this.logJson(this.currentMigration) + + } else { + this.toErrorJson("Migration is invalid") + } + // todo exhaustive check + // exhaustiveCheck(result.type) + } } catch (error) { - + } + } + + async toggleTableDelete({initialTableName}: {initialTableName: string}) { + const existingEntry = this.tableDeletions.find(({name}) => name === initialTableName) + if (existingEntry) { + const index = this.tableDeletions.findIndex(({name}) => name === initialTableName); + if (index > -1) { + this.tableDeletions.splice(index, 1) + } + } else { + this.tableDeletions.push({name: initialTableName }) + this.selectItem = {name: initialTableName, newName: initialTableName, columns: []} + } + // TODO empty ALL edits + } + + async toggleColumnDelete({column}: {column: ColumnEdit}) { + const existingEntry = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)) + if (existingEntry) { + const index = existingEntry[1].findIndex((name) => name === column.originalName); + if (index > -1) { + this.columnDeletions[column.tableName].splice(index, 1) + } + } else { + if (!this.columnDeletions[column.tableName]) { + this.columnDeletions[column.tableName] = [column.originalName] + } else { + this.columnDeletions[column.tableName].push(column.originalName) + } + this.selectItem = column + } + } + +async showColumnEdit(column: ColumnEdit) { + const alterColumnDefaultValues: {alter_column: OpAlterColumn} = { + alter_column: { + column: column.originalName, + // todo replace with real value + table: column.tableName, + nullable: column.nullable, + unique: {name: "" }, + down: "", + name: "", + up: "", + } + } + this.clear(); + const template = ` + { + alter_column: { + name: \${name}, + nullable: \${nullable}, + unique: {name: \${unique}}, } } +}` + +const snippet = new Snippet({ + // todo show information about field + message: "Edit a column", + initial: alterColumnDefaultValues, + fields: [ + { + name: 'name', + message: alterColumnDefaultValues.alter_column.column, + }, + { + name: 'nullable', + message: alterColumnDefaultValues.alter_column.nullable ? "false" : "true", + }, + { + name: 'unique', + message: alterColumnDefaultValues.alter_column.unique ? "true" : "false", + } + ], + // TODO name cannot be empty + // TODO name cannot be already taken + footer: this.footer, + template +}); +try { + const { values } = await snippet.run(); + const existingEntry = this.columnEdits.find(({originalName}) => originalName === column.originalName) + if (existingEntry) { + existingEntry.name = values.name; + existingEntry.nullable = values.notNull; + existingEntry.unique = values.unique; + } else { + // TODO default value and type + this.columnEdits.push({name: values.name, defaultValue: null, type: "string", nullable: values.notNull, unique: values.unique, originalName: column.originalName, tableName: column.tableName}) + } + await this.showSchemaEdit(); + +} catch (err) { + if (err) throw err; +} +} - async showTableEdit() { + async showTableEdit({initialTableName}: {initialTableName: string}) { + // TODO the new name is not being showed during this.clear() const snippet = new Snippet({ message: "Edit table name", - initial: { name: '' }, + initial: { name: initialTableName }, fields: [ this.tableNameField, ], + // TODO name cannot be empty + // TODO name cannot be already taken footer: this.footer, template: ` Name: \${name} @@ -214,9 +828,24 @@ export default class EditSchema extends BaseCommand { }); try { - const answer = await snippet.run(); - // TODO update state - console.log('answer', answer) + const answer: { values: { name: string } } = await snippet.run(); + + // todo abstract into a function + if (answer.values.name !== initialTableName) { + const existingEntry = this.tableEdits.find(({name}) => name === initialTableName) + if (existingEntry) { + + existingEntry.newName = answer.values.name; + } else { + this.tableEdits.push({name: initialTableName, newName: answer.values.name, columns: []}) + } + } else { + const index = this.tableEdits.findIndex(({name}) => name === initialTableName); + if (index > -1) { + this.tableEdits.splice(index, 1) + } + } + this.showSchemaEdit() } catch (err) { if (err) throw err; @@ -224,12 +853,6 @@ export default class EditSchema extends BaseCommand { } } - -const formatMigration = (op: PgRollMigration["operations"][number], currentMigration: PgRollMigration) => { - // TODO transform edits into migration - currentMigration.operations.push(op) -}; - const validateMigration = (migration: object) => { return PgRollMigrationDefinition.safeParse(migration).success } From 3fb99122e5fa11020012a06635585ffab3ce4c60 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 3 Apr 2024 17:09:43 +0200 Subject: [PATCH 013/145] wip2 --- cli/src/commands/schema/edit.ts | 126 +++++++++++++++++++------------- 1 file changed, 76 insertions(+), 50 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 7472c8e03..70e3a81f0 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -455,7 +455,13 @@ export default class EditSchema extends BaseCommand { currentMigration: PgRollMigration = { operations: [] }; - selectItem: ColumnEdit | TableEdit | null = null; + selectItem: { + type: 'edit-column'; + column: ColumnEdit; + } | { + type: 'edit-table'; + table: TableEdit; + } | null = null; flatChoices: SelectChoice[] = [] @@ -570,17 +576,40 @@ export default class EditSchema extends BaseCommand { } } + pushItem = (items: (Omit)[], arr?: unknown[]) => { + this.flatChoices.push(...items) + if (arr) { + arr.push(...items) + } + } + async showSchemaEdit() { this.flatChoices = [] const tableChoices: SelectChoice[] = [] - let index = -1 + const schemaChoice: SelectChoice = { + name: { type: 'schema' }, + message: 'Tables', + role: 'heading', + choices: tableChoices + } + + this.pushItem([schemaChoice]) + + let index = 0 for (const table of dummySchema.schema.tables) { + let columnChoices: SelectChoice[] = [] + const editTable: SelectChoice = { + name: { type: 'edit-table', table: {name: table.name, newName: table.name, columns: [] }}, + message: this.renderTableName(table.name), + choices: columnChoices, + } + this.pushItem([editTable], tableChoices) index = index + 1 const columns = Object.values(table.columns); - const columnChoices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column, columnIndex) => { + const choices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column) => { const col: ColumnEdit = { name: column.name, unique: column.unique, @@ -596,61 +625,59 @@ export default class EditSchema extends BaseCommand { }, message: this.renderColumnName({column: col}) } as any - if ((this.selectItem as any)?.originalName === col?.originalName && (this.selectItem as any)?.tableName === col?.tableName) index = this.flatChoices.length + columnIndex + 1; + this.pushItem([item]) return item }) - // TODO disable when deleted - columnChoices.push({ - name: { type: 'add-column', tableName: table.name }, - message: `${chalk.green('+')} Add a column`, - hint: 'Add a column to a table' - }) - - const editTable: SelectChoice = { - name: { type: 'edit-table', table: {name: table.name, newName: table.name, columns: [] }}, - message: this.renderTableName(table.name), - choices: columnChoices, - } + columnChoices.push(...choices) - this.flatChoices.push(editTable, ...columnChoices) - tableChoices.push(editTable) - const indexOfTable = this.flatChoices.findIndex(({name}) => name === editTable.name) - console.log("index of table", indexOfTable) - if ((this.selectItem as any)?.name === (editTable.name as any).table?.name) index = indexOfTable ?? 0 + this.pushItem([{ + name: { type: 'add-column', tableName: table.name }, + message: `${chalk.green('+')} Add a column`, + hint: 'Add a column to a table' + }], columnChoices) } - const formatting: SelectChoice[] = [ - createSpace(),{ - message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: {columns: [], name : ''}}, - }, - { - message: `${chalk.green('►')} Run migration`, - name: { type: 'migrate' }, - hint: "Run the migration" + this.pushItem([ + createSpace(),{ + message: `${chalk.green('+')} Add a table`, + name: { type: 'add-table', table: {columns: [], name : ''}}, + }, + { + message: `${chalk.green('►')} Run migration`, + name: { type: 'migrate' }, + hint: "Run the migration" + } + ], tableChoices) + + const getActiveIndex = () => { + let indexOfTable = 0 + + if (this.selectItem?.type === 'edit-column') { + // TODO flat choices can have their nested choices removed + // TODO cannot modify the flatchoices or the indexes will get messed up + indexOfTable = this.flatChoices.findIndex((item) => item.name.type === 'edit-column' && item.name.column.originalName === (this.selectItem as {column: ColumnEdit}).column.originalName && item.name.column.tableName === (this.selectItem as {column: ColumnEdit}).column.tableName) + } + else if (this.selectItem?.type === 'edit-table') { + indexOfTable = this.flatChoices.findIndex((item) => item.name.type === 'edit-table' && item.name.table.name === (this.selectItem as {table: TableEdit}).table.name) + } + + + return indexOfTable } - ] - tableChoices.push(...formatting) + + const select = new Select({ message: 'Schema for database test:main', - initial: index, - choices: [ - { - name: { type: 'schema' }, - message: 'Tables', - role: 'heading', - choices: tableChoices - }, - ], + initial: getActiveIndex(), + choices: [schemaChoice], footer: 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' }); select.on('keypress', async (char: string, key: { name: string; action: string }) => { - const flatChoice = this.flatChoices[select.state.index - 1]; - // console.log("flat choice exists", flatChoice) + const flatChoice = this.flatChoices[select.state.index]; try { if (key.name === 'backspace' || key.name === 'delete') { @@ -681,16 +708,15 @@ export default class EditSchema extends BaseCommand { const result = await select.run(); if (result.type === 'add-table') { } else if (result.type === "edit-column") { - // todo typesafe - this.selectItem = result.column - + this.selectItem = result if (!this.tableDeletions.find(({name}) => name === result.column.tableName)) { await this.showColumnEdit(result.column); } await select.cancel(); // await this.showSchemaEdit(); } else if (result.type === 'edit-table') { - this.selectItem = result.table; + this.selectItem = result; + // console.log("EDITING TABLE", result.table.name) if (!this.tableDeletions.find(({name}) => name === result.table.name)) { await this.showTableEdit({initialTableName: result.table.name}); } @@ -723,8 +749,8 @@ export default class EditSchema extends BaseCommand { } } else { this.tableDeletions.push({name: initialTableName }) - this.selectItem = {name: initialTableName, newName: initialTableName, columns: []} } + this.selectItem = {type: 'edit-table', table: {name: initialTableName, newName: initialTableName, columns: []}} // TODO empty ALL edits } @@ -741,7 +767,7 @@ export default class EditSchema extends BaseCommand { } else { this.columnDeletions[column.tableName].push(column.originalName) } - this.selectItem = column + this.selectItem = {type: 'edit-column', column} } } @@ -794,7 +820,7 @@ const snippet = new Snippet({ }); try { const { values } = await snippet.run(); - const existingEntry = this.columnEdits.find(({originalName}) => originalName === column.originalName) + const existingEntry = this.columnEdits.find(({originalName, tableName}) => tableName === column.tableName && originalName === column.originalName) if (existingEntry) { existingEntry.name = values.name; existingEntry.nullable = values.notNull; From 4e22aa0bd0c0a908c302414a15db2c3800156173 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 08:51:06 +0200 Subject: [PATCH 014/145] get rid of flatchoices --- cli/src/commands/schema/dummySchema.ts | 335 ++++++++++++++++++ cli/src/commands/schema/edit.ts | 469 ++++--------------------- 2 files changed, 402 insertions(+), 402 deletions(-) create mode 100644 cli/src/commands/schema/dummySchema.ts diff --git a/cli/src/commands/schema/dummySchema.ts b/cli/src/commands/schema/dummySchema.ts new file mode 100644 index 000000000..3ae66bc64 --- /dev/null +++ b/cli/src/commands/schema/dummySchema.ts @@ -0,0 +1,335 @@ + +export const dummySchema = { + "branchName": "main", + "createdAt": "2024-04-02T06:40:39.989Z", + "databaseName": "csv", + "id": "bb_fipug7tus17st2pgt6l07q3bn8_o2i56v", + "lastMigrationID": "", + "version": 1, + "metadata": {}, + "schema": { + "tables": [ + { + "name": "44", + "xataCompatible": true, + "checkConstraints": { + "44_xata_id_length_xata_id": { + "name": "44_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + }, + "44_xata_string_length_stringggrenamed": { + "name": "44_xata_string_length_stringggrenamed", + "columns": [ + "emm" + ], + "definition": "CHECK ((length(emm) <= 2048))" + }, + "44_xata_string_length_test": { + "name": "44_xata_string_length_test", + "columns": [ + "test" + ], + "definition": "CHECK ((length(test) <= 2048))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "44_stringggrenamed_unique": { + "name": "44_stringggrenamed_unique", + "columns": [ + "emm" + ] + }, + "_pgroll_new_44_xata_id_key": { + "name": "_pgroll_new_44_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4563954", + "columns": [ + { + "name": "emm", + "type": "text", + "pgType": "text", + "notNull": false, + "unique": true, + "defaultValue": null + }, + { + "name": "percentageeee", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "price", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbol", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "test", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + { + "name": "678", + "xataCompatible": true, + "checkConstraints": { + "678_xata_id_length_xata_id": { + "name": "678_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "678_percentageee_unique": { + "name": "678_percentageee_unique", + "columns": [ + "percentageee" + ] + }, + "_pgroll_new_678_xata_id_key": { + "name": "_pgroll_new_678_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4564039", + "columns": [ + { + "name": "percentageee", + "type": "float", + "pgType": "double precision", + "notNull": true, + "unique": true, + "defaultValue": null + }, + { + "name": "pricer", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbolll", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + { + "name": "emily", + "xataCompatible": true, + "checkConstraints": { + "678_xata_id_length_xata_id": { + "name": "678_xata_id_length_xata_id", + "columns": [ + "xata_id" + ], + "definition": "CHECK ((length(xata_id) < 256))" + } + }, + "foreignKeys": {}, + "primaryKey": [], + "uniqueConstraints": { + "678_percentageee_unique": { + "name": "678_percentageee_unique", + "columns": [ + "percentageee" + ] + }, + "_pgroll_new_678_xata_id_key": { + "name": "_pgroll_new_678_xata_id_key", + "columns": [ + "xata_id" + ] + } + }, + "comment": "", + "oid": "4564039", + "columns": [ + { + "name": "percentageee", + "type": "float", + "pgType": "double precision", + "notNull": true, + "unique": true, + "defaultValue": null + }, + { + "name": "pricer", + "type": "float", + "pgType": "double precision", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "symbolll", + "type": "string", + "pgType": "text", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "timestamp", + "type": "datetime", + "pgType": "timestamptz", + "notNull": false, + "unique": false, + "defaultValue": null + }, + { + "name": "xata_createdat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_id", + "type": "text", + "pgType": "text", + "notNull": true, + "unique": true, + "defaultValue": "('rec_'::text || (xata_private.xid())::text)" + }, + { + "name": "xata_updatedat", + "type": "datetime", + "pgType": "timestamptz", + "notNull": true, + "unique": false, + "defaultValue": "now()" + }, + { + "name": "xata_version", + "type": "int", + "pgType": "integer", + "notNull": true, + "unique": false, + "defaultValue": "0" + } + ] + }, + ] + } + } \ No newline at end of file diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 70e3a81f0..45d4ddafe 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -7,347 +7,7 @@ import { Schemas } from '@xata.io/client'; import { OpAlterColumn, OpCreateTable, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; -// Add table -// Rename table -// Delete table -// Add column -// Edit column -// Delete column - -const dummySchema = { - "branchName": "main", - "createdAt": "2024-04-02T06:40:39.989Z", - "databaseName": "csv", - "id": "bb_fipug7tus17st2pgt6l07q3bn8_o2i56v", - "lastMigrationID": "", - "version": 1, - "metadata": {}, - "schema": { - "tables": [ - { - "name": "44", - "xataCompatible": true, - "checkConstraints": { - "44_xata_id_length_xata_id": { - "name": "44_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - }, - "44_xata_string_length_stringggrenamed": { - "name": "44_xata_string_length_stringggrenamed", - "columns": [ - "emm" - ], - "definition": "CHECK ((length(emm) <= 2048))" - }, - "44_xata_string_length_test": { - "name": "44_xata_string_length_test", - "columns": [ - "test" - ], - "definition": "CHECK ((length(test) <= 2048))" - } - }, - "foreignKeys": {}, - "primaryKey": [], - "uniqueConstraints": { - "44_stringggrenamed_unique": { - "name": "44_stringggrenamed_unique", - "columns": [ - "emm" - ] - }, - "_pgroll_new_44_xata_id_key": { - "name": "_pgroll_new_44_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4563954", - "columns": [ - { - "name": "emm", - "type": "text", - "pgType": "text", - "notNull": false, - "unique": true, - "defaultValue": null - }, - { - "name": "percentageeee", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "price", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbol", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "test", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - { - "name": "678", - "xataCompatible": true, - "checkConstraints": { - "678_xata_id_length_xata_id": { - "name": "678_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - } - }, - "foreignKeys": {}, - "primaryKey": [], - "uniqueConstraints": { - "678_percentageee_unique": { - "name": "678_percentageee_unique", - "columns": [ - "percentageee" - ] - }, - "_pgroll_new_678_xata_id_key": { - "name": "_pgroll_new_678_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4564039", - "columns": [ - { - "name": "percentageee", - "type": "float", - "pgType": "double precision", - "notNull": true, - "unique": true, - "defaultValue": null - }, - { - "name": "pricer", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbolll", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - { - "name": "emily", - "xataCompatible": true, - "checkConstraints": { - "678_xata_id_length_xata_id": { - "name": "678_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - } - }, - "foreignKeys": {}, - "primaryKey": [], - "uniqueConstraints": { - "678_percentageee_unique": { - "name": "678_percentageee_unique", - "columns": [ - "percentageee" - ] - }, - "_pgroll_new_678_xata_id_key": { - "name": "_pgroll_new_678_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4564039", - "columns": [ - { - "name": "percentageee", - "type": "float", - "pgType": "double precision", - "notNull": true, - "unique": true, - "defaultValue": null - }, - { - "name": "pricer", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbolll", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - ] - } -} +import { dummySchema } from './dummySchema.js'; const { Select, Snippet, Confirm } = enquirer as any; @@ -386,32 +46,31 @@ type ColumnAdd = { link?: string } -const types = ['string', 'int', 'float', 'bool', 'text', 'multiple', 'link', 'email', 'datetime', 'vector', 'json']; -const typesList = types.join(', '); -const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; -const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; -const notNullUnsupportedTypes = defaultValueUnsupportedTypes; - type SelectChoice = { name: | { type: 'space' | 'migrate' | 'schema'; + id: string; } | { type: 'add-table'; table: TableAdd + id: string; } | { type: 'edit-table'; table: TableEdit; + id: string; } | { type: 'add-column'; tableName: string; + id: string; } | { type: 'edit-column'; column: ColumnEdit; + id: string; } message: string; role?: string; @@ -420,8 +79,24 @@ type SelectChoice = { hint?: string; } + +const types = ['string', 'int', 'float', 'bool', 'text', 'multiple', 'link', 'email', 'datetime', 'vector', 'json']; +const typesList = types.join(', '); +const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; +const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; +const notNullUnsupportedTypes = defaultValueUnsupportedTypes; + +const notEmptyString = (value: string) => { + return value !== "" ? true : "Name cannot be empty" +} + + +const generateRandomId = () => { + return Math.random().toString(36).substring(7); +} + const createSpace = (): SelectChoice => { - return { name: { type: 'space' }, message: ' ', role: 'heading' }; + return { name: { type: 'space', id: generateRandomId() }, message: ' ', role: 'heading' }; } @@ -462,7 +137,7 @@ export default class EditSchema extends BaseCommand { type: 'edit-table'; table: TableEdit; } | null = null; - flatChoices: SelectChoice[] = [] + activeIndex: number = 0 editsToMigrations = () => { @@ -474,7 +149,7 @@ export default class EditSchema extends BaseCommand { to: newName }} }) - this.currentMigration.operations.push(...tableEdits) + const tableDeletions: {drop_table: OpDropTable}[] = this.tableDeletions.map(({name}) => { return {drop_table: { type: 'drop_table', @@ -482,7 +157,6 @@ export default class EditSchema extends BaseCommand { }} }) // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS - this.currentMigration.operations.push(...tableDeletions) const columnEdits: {alter_column: OpAlterColumn}[] = this.columnEdits.map(({originalName, tableName, name}) => { const edit: {alter_column: OpAlterColumn} = {alter_column: { column: originalName, @@ -504,7 +178,8 @@ export default class EditSchema extends BaseCommand { } } })}).flat().filter((operation) => !this.tableDeletions.some(({name}) => operation.drop_column.table === name)) - this.currentMigration.operations.push(...columnDeletions) + + this.currentMigration.operations.push(...tableEdits, ...tableDeletions, ...columnDeletions) // const tableAdditions: {create_table: OpCreateTable}[] = this.tableAdditions.map(({name}) => { // return {create_table: { // type: 'create_table', @@ -572,42 +247,29 @@ export default class EditSchema extends BaseCommand { message: 'The table name', validate(value: string, state: unknown, item: unknown, index: number) { // TODO make sure no other tables have this name - return value !== "" ? true : "Name cannot be empty" - } - } - - pushItem = (items: (Omit)[], arr?: unknown[]) => { - this.flatChoices.push(...items) - if (arr) { - arr.push(...items) + return notEmptyString(value) } } async showSchemaEdit() { - this.flatChoices = [] const tableChoices: SelectChoice[] = [] const schemaChoice: SelectChoice = { - name: { type: 'schema' }, + name: { type: 'schema', id: generateRandomId() }, message: 'Tables', role: 'heading', choices: tableChoices } - - this.pushItem([schemaChoice]) - let index = 0 - for (const table of dummySchema.schema.tables) { let columnChoices: SelectChoice[] = [] const editTable: SelectChoice = { - name: { type: 'edit-table', table: {name: table.name, newName: table.name, columns: [] }}, + name: { type: 'edit-table', id: generateRandomId(), table: {name: table.name, newName: table.name, columns: [] }}, message: this.renderTableName(table.name), choices: columnChoices, } - this.pushItem([editTable], tableChoices) - index = index + 1 + tableChoices.push(editTable) const columns = Object.values(table.columns); const choices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column) => { const col: ColumnEdit = { @@ -625,64 +287,48 @@ export default class EditSchema extends BaseCommand { }, message: this.renderColumnName({column: col}) } as any - this.pushItem([item]) return item }) columnChoices.push(...choices) - this.pushItem([{ - name: { type: 'add-column', tableName: table.name }, + columnChoices.push({ + name: { type: 'add-column', tableName: table.name, id: generateRandomId() }, message: `${chalk.green('+')} Add a column`, hint: 'Add a column to a table' - }], columnChoices) + }) } - this.pushItem([ + tableChoices.push( createSpace(),{ message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: {columns: [], name : ''}}, + name: { type: 'add-table', table: {columns: [], name : ''}, id: generateRandomId()}, }, { message: `${chalk.green('►')} Run migration`, - name: { type: 'migrate' }, + name: { type: 'migrate', id: generateRandomId() }, hint: "Run the migration" } - ], tableChoices) - - const getActiveIndex = () => { - let indexOfTable = 0 - - if (this.selectItem?.type === 'edit-column') { - // TODO flat choices can have their nested choices removed - // TODO cannot modify the flatchoices or the indexes will get messed up - indexOfTable = this.flatChoices.findIndex((item) => item.name.type === 'edit-column' && item.name.column.originalName === (this.selectItem as {column: ColumnEdit}).column.originalName && item.name.column.tableName === (this.selectItem as {column: ColumnEdit}).column.tableName) - } - else if (this.selectItem?.type === 'edit-table') { - indexOfTable = this.flatChoices.findIndex((item) => item.name.type === 'edit-table' && item.name.table.name === (this.selectItem as {table: TableEdit}).table.name) - } - - - return indexOfTable - } + ) const select = new Select({ message: 'Schema for database test:main', - initial: getActiveIndex(), + initial: this.activeIndex, choices: [schemaChoice], footer: 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' }); select.on('keypress', async (char: string, key: { name: string; action: string }) => { - const flatChoice = this.flatChoices[select.state.index]; + this.activeIndex = select.state.index + const selectedItem = select.state.choices[select.state.index]; try { if (key.name === 'backspace' || key.name === 'delete') { - if (!flatChoice) return; // add table is not here for example - const choice = flatChoice.name; + if (!selectedItem) return; // add table is not here for example + const choice = selectedItem.name; if (typeof choice !== 'object') return; @@ -795,26 +441,42 @@ async showColumnEdit(column: ColumnEdit) { } }` + +const noExistingColumnName = (value: string) => { + // Todo maek sure non edited names to conflict + return !this.columnEdits.find(({name, tableName}) => tableName === column.tableName && name === value) ? true : "Name already exists" +} + const snippet = new Snippet({ - // todo show information about field message: "Edit a column", initial: alterColumnDefaultValues, fields: [ { name: 'name', message: alterColumnDefaultValues.alter_column.column, + initial: alterColumnDefaultValues.alter_column.column, + validate: (value: string) => { + // Todo field does not start with xata_ + return notEmptyString(value) && noExistingColumnName(value) + } }, { name: 'nullable', message: alterColumnDefaultValues.alter_column.nullable ? "false" : "true", + initial: alterColumnDefaultValues.alter_column.nullable ? "false" : "true", + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value) + } }, { name: 'unique', message: alterColumnDefaultValues.alter_column.unique ? "true" : "false", + initial: alterColumnDefaultValues.alter_column.unique ? "true" : "false", + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value) + } } ], - // TODO name cannot be empty - // TODO name cannot be already taken footer: this.footer, template }); @@ -827,7 +489,10 @@ try { existingEntry.unique = values.unique; } else { // TODO default value and type - this.columnEdits.push({name: values.name, defaultValue: null, type: "string", nullable: values.notNull, unique: values.unique, originalName: column.originalName, tableName: column.tableName}) + if (values.name !== column.originalName) { + this.columnEdits.push({name: values.name, defaultValue: column.defaultValue, type: column.type, nullable: values.notNull, unique: values.unique, originalName: column.originalName, tableName: column.tableName}) + } + } await this.showSchemaEdit(); @@ -837,7 +502,6 @@ try { } async showTableEdit({initialTableName}: {initialTableName: string}) { - // TODO the new name is not being showed during this.clear() const snippet = new Snippet({ message: "Edit table name", @@ -845,6 +509,7 @@ try { fields: [ this.tableNameField, ], + // TODO name cannot be empty // TODO name cannot be already taken footer: this.footer, From 120dbb2e4d4abe52ce223bfa119c4542a249ecc1 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 09:11:24 +0200 Subject: [PATCH 015/145] types --- cli/src/commands/schema/edit.ts | 146 ++++++------------------------- cli/src/commands/schema/types.ts | 69 +++++++++++++++ 2 files changed, 97 insertions(+), 118 deletions(-) create mode 100644 cli/src/commands/schema/types.ts diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 45d4ddafe..67ad9070e 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -4,102 +4,20 @@ import { BaseCommand } from '../../base.js'; // import schemas from "@xata.io/pgroll" import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; -import { OpAlterColumn, OpCreateTable, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; +import { OpAlterColumn, OpCreateTable, OpDropColumn, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; import { dummySchema } from './dummySchema.js'; +import { AddColumnPayload, AddTablePayload, EditColumnPayload, EditTablePayload, SelectChoice } from './types.js'; const { Select, Snippet, Confirm } = enquirer as any; -type TableAdd = { - name: string; - columns: ColumnAdd[]; -} - -type TableEdit = { - name: string; - newName: string; - columns: ColumnEdit[]; -} - -type TableDelete = { - name: string; -} - -type ColumnEdit = { - name: string; - unique: boolean; - nullable: boolean; - originalName: string; - tableName: string - defaultValue: any - type: string -} - -type ColumnAdd = { - name: string; - type: string; - unique: boolean; - nullable: boolean; - default?: string; - vectorDimension?: string - link?: string -} - -type SelectChoice = { - name: - | { - type: 'space' | 'migrate' | 'schema'; - id: string; - } - | { - type: 'add-table'; - table: TableAdd - id: string; - } - | { - type: 'edit-table'; - table: TableEdit; - id: string; - } - | { - type: 'add-column'; - tableName: string; - id: string; - } - | { - type: 'edit-column'; - column: ColumnEdit; - id: string; - } - message: string; - role?: string; - choices?: SelectChoice[]; - disabled?: boolean; - hint?: string; -} - - const types = ['string', 'int', 'float', 'bool', 'text', 'multiple', 'link', 'email', 'datetime', 'vector', 'json']; const typesList = types.join(', '); const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; const notNullUnsupportedTypes = defaultValueUnsupportedTypes; -const notEmptyString = (value: string) => { - return value !== "" ? true : "Name cannot be empty" -} - - -const generateRandomId = () => { - return Math.random().toString(36).substring(7); -} - -const createSpace = (): SelectChoice => { - return { name: { type: 'space', id: generateRandomId() }, message: ' ', role: 'heading' }; -} - - export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -121,22 +39,17 @@ export default class EditSchema extends BaseCommand { database!: string; branch!: string; - tableAdditions: TableAdd[] = []; - tableEdits: TableEdit[] = []; - tableDeletions: TableDelete[] = []; - columnAdditions: ColumnAdd[] = []; - columnEdits: ColumnEdit[] = []; + tableAdditions: AddTablePayload["table"][] = []; + tableEdits: EditTablePayload["table"][] = []; + tableDeletions: { + name: string; + }[] = []; + columnAdditions: AddColumnPayload["column"][] = []; + columnEdits: EditColumnPayload["column"][] = []; columnDeletions: { [tableName: string]: string[] } = {}; currentMigration: PgRollMigration = { operations: [] }; - selectItem: { - type: 'edit-column'; - column: ColumnEdit; - } | { - type: 'edit-table'; - table: TableEdit; - } | null = null; activeIndex: number = 0 @@ -168,7 +81,7 @@ export default class EditSchema extends BaseCommand { }) this.currentMigration.operations.push(...columnEdits) - const columnDeletions: {drop_column: OpAlterColumn}[] = Object.entries(this.columnDeletions).map((entry) => { + const columnDeletions: {drop_column: OpDropColumn}[] = Object.entries(this.columnDeletions).map((entry) => { return entry[1].map((e) => { return { drop_column: { @@ -193,7 +106,7 @@ export default class EditSchema extends BaseCommand { // todo column edit } - renderColumnName({column}: {column: ColumnEdit}) { + renderColumnName({column}: {column: EditColumnPayload["column"]}) { // TODO link columns const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); @@ -256,7 +169,7 @@ export default class EditSchema extends BaseCommand { const tableChoices: SelectChoice[] = [] const schemaChoice: SelectChoice = { - name: { type: 'schema', id: generateRandomId() }, + name: { type: 'schema' }, message: 'Tables', role: 'heading', choices: tableChoices @@ -265,14 +178,14 @@ export default class EditSchema extends BaseCommand { for (const table of dummySchema.schema.tables) { let columnChoices: SelectChoice[] = [] const editTable: SelectChoice = { - name: { type: 'edit-table', id: generateRandomId(), table: {name: table.name, newName: table.name, columns: [] }}, + name: { type: 'edit-table', table: {name: table.name, newName: table.name }}, message: this.renderTableName(table.name), choices: columnChoices, } tableChoices.push(editTable) const columns = Object.values(table.columns); const choices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column) => { - const col: ColumnEdit = { + const col: EditColumnPayload["column"] = { name: column.name, unique: column.unique, nullable: column.notNull, @@ -293,26 +206,24 @@ export default class EditSchema extends BaseCommand { columnChoices.push(...choices) columnChoices.push({ - name: { type: 'add-column', tableName: table.name, id: generateRandomId() }, + name: { type: 'add-column', tableName: table.name, column: {name: '', type: 'string', unique: false, nullable: false}}, message: `${chalk.green('+')} Add a column`, hint: 'Add a column to a table' }) - } tableChoices.push( createSpace(),{ message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: {columns: [], name : ''}, id: generateRandomId()}, + name: { type: 'add-table', table: {columns: [], name : ''}}, }, { message: `${chalk.green('►')} Run migration`, - name: { type: 'migrate', id: generateRandomId() }, + name: { type: 'migrate' }, hint: "Run the migration" } ) - const select = new Select({ message: 'Schema for database test:main', initial: this.activeIndex, @@ -354,20 +265,15 @@ export default class EditSchema extends BaseCommand { const result = await select.run(); if (result.type === 'add-table') { } else if (result.type === "edit-column") { - this.selectItem = result if (!this.tableDeletions.find(({name}) => name === result.column.tableName)) { await this.showColumnEdit(result.column); } await select.cancel(); - // await this.showSchemaEdit(); } else if (result.type === 'edit-table') { - this.selectItem = result; - // console.log("EDITING TABLE", result.table.name) if (!this.tableDeletions.find(({name}) => name === result.table.name)) { await this.showTableEdit({initialTableName: result.table.name}); } await select.cancel(); - // await this.showSchemaEdit(); // todo prevent from exiting } else if (result.type === "add-column") { } else if (result.type === 'migrate') { @@ -380,7 +286,6 @@ export default class EditSchema extends BaseCommand { this.toErrorJson("Migration is invalid") } // todo exhaustive check - // exhaustiveCheck(result.type) } } catch (error) { } @@ -396,11 +301,10 @@ export default class EditSchema extends BaseCommand { } else { this.tableDeletions.push({name: initialTableName }) } - this.selectItem = {type: 'edit-table', table: {name: initialTableName, newName: initialTableName, columns: []}} // TODO empty ALL edits } - async toggleColumnDelete({column}: {column: ColumnEdit}) { + async toggleColumnDelete({column}: {column: EditColumnPayload["column"]}) { const existingEntry = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)) if (existingEntry) { const index = existingEntry[1].findIndex((name) => name === column.originalName); @@ -413,11 +317,10 @@ export default class EditSchema extends BaseCommand { } else { this.columnDeletions[column.tableName].push(column.originalName) } - this.selectItem = {type: 'edit-column', column} } } -async showColumnEdit(column: ColumnEdit) { +async showColumnEdit(column: EditColumnPayload["column"]) { const alterColumnDefaultValues: {alter_column: OpAlterColumn} = { alter_column: { column: column.originalName, @@ -443,7 +346,7 @@ async showColumnEdit(column: ColumnEdit) { const noExistingColumnName = (value: string) => { - // Todo maek sure non edited names to conflict + // Todo make sure non edited names to conflict return !this.columnEdits.find(({name, tableName}) => tableName === column.tableName && name === value) ? true : "Name already exists" } @@ -528,7 +431,7 @@ try { existingEntry.newName = answer.values.name; } else { - this.tableEdits.push({name: initialTableName, newName: answer.values.name, columns: []}) + this.tableEdits.push({name: initialTableName, newName: answer.values.name}) } } else { const index = this.tableEdits.findIndex(({name}) => name === initialTableName); @@ -548,3 +451,10 @@ const validateMigration = (migration: object) => { return PgRollMigrationDefinition.safeParse(migration).success } +const notEmptyString = (value: string) => { + return value !== "" ? true : "Name cannot be empty" +} + +const createSpace = (): SelectChoice => { + return { name: { type: 'space' }, message: ' ', role: 'heading' }; +} diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts new file mode 100644 index 000000000..3d85845fa --- /dev/null +++ b/cli/src/commands/schema/types.ts @@ -0,0 +1,69 @@ + +export type AddTablePayload = { + type: 'add-table'; + table: { + name: string; + columns: { + name: string; + type: string; + unique: boolean; + nullable: boolean; + default?: string; + vectorDimension?: string + link?: string + }[]; + } + } + + export type EditTablePayload = { + type: 'edit-table'; + table: { + name: string; + newName: string + }; + } + + export type AddColumnPayload = { + type: 'add-column'; + tableName: string; + column: { + name: string; + type: string; + unique: boolean; + nullable: boolean; + defaultValue?: string; + vectorDimension?: string + link?: string + } + } + + export type EditColumnPayload = { + type: 'edit-column'; + column: { + name: string; + unique: boolean; + nullable: boolean; + originalName: string; + tableName: string + defaultValue: any + type: string + }; + } + + export type FormatPayload = { + type: 'space' | 'migrate' | 'schema'; + } + + export type SelectChoice = { + name: + | FormatPayload + | AddTablePayload + | EditTablePayload + | AddColumnPayload + | EditColumnPayload + message: string; + role?: string; + choices?: SelectChoice[]; + disabled?: boolean; + hint?: string; + } \ No newline at end of file From 48acc8be00bc0d5f78d9ae035b19625e7eeaec4b Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 09:47:11 +0200 Subject: [PATCH 016/145] disable states --- cli/src/commands/schema/edit.ts | 48 +++++++++++++++++++------------- cli/src/commands/schema/types.ts | 6 ++++ 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 67ad9070e..5a838885f 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,14 +1,11 @@ -// import { Flags } from "@oclif/core"; -// import { BaseCommand } from "../../base"; import { BaseCommand } from '../../base.js'; -// import schemas from "@xata.io/pgroll" import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; import { OpAlterColumn, OpCreateTable, OpDropColumn, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; import { dummySchema } from './dummySchema.js'; -import { AddColumnPayload, AddTablePayload, EditColumnPayload, EditTablePayload, SelectChoice } from './types.js'; +import { AddColumnPayload, AddTablePayload, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, EditTablePayload, SelectChoice } from './types.js'; const { Select, Snippet, Confirm } = enquirer as any; @@ -41,12 +38,10 @@ export default class EditSchema extends BaseCommand { tableAdditions: AddTablePayload["table"][] = []; tableEdits: EditTablePayload["table"][] = []; - tableDeletions: { - name: string; - }[] = []; + tableDeletions: DeleteTablePayload[] = []; columnAdditions: AddColumnPayload["column"][] = []; columnEdits: EditColumnPayload["column"][] = []; - columnDeletions: { [tableName: string]: string[] } = {}; + columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; @@ -143,7 +138,7 @@ export default class EditSchema extends BaseCommand { return `• ${chalk.bold(originalName)}`; } - async run(): Promise { + async run(): Promise { await this.showSchemaEdit() } @@ -194,12 +189,14 @@ export default class EditSchema extends BaseCommand { defaultValue: column.defaultValue, type: column.type } - const item = { - name: { type: "edit-column", + const item: SelectChoice = { + name: { + type: "edit-column", column: col }, - message: this.renderColumnName({column: col}) - } as any + message: this.renderColumnName({column: col}), + disabled: editTableDisabled(table.name, this.tableDeletions), + } return item }) @@ -208,6 +205,7 @@ export default class EditSchema extends BaseCommand { columnChoices.push({ name: { type: 'add-column', tableName: table.name, column: {name: '', type: 'string', unique: false, nullable: false}}, message: `${chalk.green('+')} Add a column`, + disabled: editTableDisabled(table.name, this.tableDeletions), hint: 'Add a column to a table' }) } @@ -262,19 +260,22 @@ export default class EditSchema extends BaseCommand { }); try { - const result = await select.run(); + const result: SelectChoice["name"] = await select.run(); if (result.type === 'add-table') { } else if (result.type === "edit-column") { - if (!this.tableDeletions.find(({name}) => name === result.column.tableName)) { + await select.cancel(); + if (editColumnDisabled(result.column, this.columnDeletions)) { + await this.showSchemaEdit(); + } else { await this.showColumnEdit(result.column); } - await select.cancel(); } else if (result.type === 'edit-table') { - if (!this.tableDeletions.find(({name}) => name === result.table.name)) { + await select.cancel(); + if (editTableDisabled(result.table.name, this.tableDeletions)) { + await this.showSchemaEdit(); + } else { await this.showTableEdit({initialTableName: result.table.name}); } - await select.cancel(); - // todo prevent from exiting } else if (result.type === "add-column") { } else if (result.type === 'migrate') { this.editsToMigrations() @@ -447,6 +448,15 @@ try { } } +const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { + return tableDeletions.some(({name: tableName}) => tableName === name) ? true : false +} + +/** Necessary because disabling prevents the user from "undeleting" a column */ +const editColumnDisabled = (column: EditColumnPayload["column"], columnDeletions: DeleteColumnPayload) => { + return columnDeletions[column.tableName]?.includes(column.originalName) ? true : false +} + const validateMigration = (migration: object) => { return PgRollMigrationDefinition.safeParse(migration).success } diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 3d85845fa..a527419ce 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -36,6 +36,8 @@ export type AddTablePayload = { link?: string } } + + export type DeleteColumnPayload = { [tableName: string]: string[] } export type EditColumnPayload = { type: 'edit-column'; @@ -49,6 +51,10 @@ export type AddTablePayload = { type: string }; } + + export type DeleteTablePayload = { + name: string; + } export type FormatPayload = { type: 'space' | 'migrate' | 'schema'; From 57e0eab80fd47db593e38b31b5d10731a678dfca Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 10:21:31 +0200 Subject: [PATCH 017/145] show links --- cli/src/commands/schema/dummySchema.ts | 35 +++++++++++++++++++++++--- cli/src/commands/schema/edit.ts | 13 ++++++---- cli/src/commands/schema/types.ts | 13 +++++++--- 3 files changed, 50 insertions(+), 11 deletions(-) diff --git a/cli/src/commands/schema/dummySchema.ts b/cli/src/commands/schema/dummySchema.ts index 3ae66bc64..b8ccad0be 100644 --- a/cli/src/commands/schema/dummySchema.ts +++ b/cli/src/commands/schema/dummySchema.ts @@ -35,7 +35,30 @@ export const dummySchema = { "definition": "CHECK ((length(test) <= 2048))" } }, - "foreignKeys": {}, + "foreignKeys": { + "fk_image": { + "name": "fk_image", + "columns": [ + "symbol" + ], + "referencedTable": "emily", + "referencedColumns": [ + "xata_id" + ], + "onDelete": "NO ACTION" + }, + "fk_tag": { + "name": "fk_tag", + "columns": [ + "test" + ], + "referencedTable": "emily", + "referencedColumns": [ + "xata_id" + ], + "onDelete": "NO ACTION" + } + }, "primaryKey": [], "uniqueConstraints": { "44_stringggrenamed_unique": { @@ -80,7 +103,10 @@ export const dummySchema = { }, { "name": "symbol", - "type": "string", + "type": "link", + "link": { + "table": "emily" + }, "pgType": "text", "notNull": false, "unique": false, @@ -88,7 +114,10 @@ export const dummySchema = { }, { "name": "test", - "type": "string", + "type": "link", + "link": { + "table": "emily" + }, "pgType": "text", "notNull": false, "unique": false, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 5a838885f..64ed104b5 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -102,13 +102,14 @@ export default class EditSchema extends BaseCommand { } renderColumnName({column}: {column: EditColumnPayload["column"]}) { - // TODO link columns const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); const tableDelete = this.tableDeletions.find(({name}) => name === column.tableName); + const table = dummySchema.schema.tables.find((table) => table.name === column.tableName); + const metadata = [ - `${chalk.gray.italic(column.type)}`, + `${chalk.gray.italic(column.type)}${column.type === "link" ? ` → ${chalk.gray.italic(column.link?.table)}` : ""}`, column.unique ? chalk.gray.italic('unique') : '', column.nullable ? chalk.gray.italic('not null') : '', column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' @@ -171,7 +172,7 @@ export default class EditSchema extends BaseCommand { } for (const table of dummySchema.schema.tables) { - let columnChoices: SelectChoice[] = [] + const columnChoices: SelectChoice[] = [] const editTable: SelectChoice = { name: { type: 'edit-table', table: {name: table.name, newName: table.name }}, message: this.renderTableName(table.name), @@ -179,7 +180,7 @@ export default class EditSchema extends BaseCommand { } tableChoices.push(editTable) const columns = Object.values(table.columns); - const choices: SelectChoice[] = columns.filter(({name}) => !name.startsWith("xata_")).map((column) => { + const choices: SelectChoice[] = columns.filter(({name}) => !name.toLowerCase().startsWith("xata_")).map((column) => { const col: EditColumnPayload["column"] = { name: column.name, unique: column.unique, @@ -187,7 +188,9 @@ export default class EditSchema extends BaseCommand { tableName: table.name, originalName: column.name, defaultValue: column.defaultValue, - type: column.type + type: column.type, + // @ts-expect-error + link: column.type === "link" ? {table: column.link?.table} : undefined } const item: SelectChoice = { name: { diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index a527419ce..d412f2e9e 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -10,7 +10,9 @@ export type AddTablePayload = { nullable: boolean; default?: string; vectorDimension?: string - link?: string + link?: { + table: string + } }[]; } } @@ -33,7 +35,9 @@ export type AddTablePayload = { nullable: boolean; defaultValue?: string; vectorDimension?: string - link?: string + link?: { + table: string + } } } @@ -48,7 +52,10 @@ export type AddTablePayload = { originalName: string; tableName: string defaultValue: any - type: string + type: string, + link?: { + table: string + } }; } From 00b11604786d8b2109f965f2de52dcb39f467450 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 11:27:44 +0200 Subject: [PATCH 018/145] column additions --- cli/src/commands/schema/edit.ts | 363 ++++++++++++++++++++----------- cli/src/commands/schema/types.ts | 15 +- 2 files changed, 239 insertions(+), 139 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 64ed104b5..3be5988da 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,7 +1,7 @@ import { BaseCommand } from '../../base.js'; import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; -import { OpAlterColumn, OpCreateTable, OpDropColumn, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; +import { OpAddColumn, OpAlterColumn, OpCreateTable, OpDropColumn, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; import { dummySchema } from './dummySchema.js'; @@ -47,131 +47,21 @@ export default class EditSchema extends BaseCommand { activeIndex: number = 0 - - editsToMigrations = () => { - // TODO rename table and rename columns go last - const tableEdits: {rename_table: OpRenameTable}[] = this.tableEdits.map(({name, newName}) => { - return {rename_table: { - type: 'rename_table', - from: name, - to: newName - }} - }) - - const tableDeletions: {drop_table: OpDropTable}[] = this.tableDeletions.map(({name}) => { - return {drop_table: { - type: 'drop_table', - name: name - }} - }) - // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS - const columnEdits: {alter_column: OpAlterColumn}[] = this.columnEdits.map(({originalName, tableName, name}) => { - const edit: {alter_column: OpAlterColumn} = {alter_column: { - column: originalName, - table: tableName, - nullable: false, - name: originalName !== name ? name : undefined, - }} - return edit - }) - this.currentMigration.operations.push(...columnEdits) - - const columnDeletions: {drop_column: OpDropColumn}[] = Object.entries(this.columnDeletions).map((entry) => { - return entry[1].map((e) => { - return { - drop_column: { - type: 'drop_column', - column: e, - table: entry[0] - } - } - })}).flat().filter((operation) => !this.tableDeletions.some(({name}) => operation.drop_column.table === name)) - - this.currentMigration.operations.push(...tableEdits, ...tableDeletions, ...columnDeletions) - // const tableAdditions: {create_table: OpCreateTable}[] = this.tableAdditions.map(({name}) => { - // return {create_table: { - // type: 'create_table', - // name: name, - // columns: [], - // }} - // }) - // this.currentMigration.operations.push(...tableAdditions) - // todo column add - // todo column remove - // todo column edit - } - - renderColumnName({column}: {column: EditColumnPayload["column"]}) { - const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); - const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); - const tableDelete = this.tableDeletions.find(({name}) => name === column.tableName); - - const table = dummySchema.schema.tables.find((table) => table.name === column.tableName); - - const metadata = [ - `${chalk.gray.italic(column.type)}${column.type === "link" ? ` → ${chalk.gray.italic(column.link?.table)}` : ""}`, - column.unique ? chalk.gray.italic('unique') : '', - column.nullable ? chalk.gray.italic('not null') : '', - column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' - ].filter(Boolean) - .join(' '); - - if (columnDelete || tableDelete) { - return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})` - } - if (columnEdit) { - // TODO show separate field edits if name not changed - return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})` - } - - return `- ${chalk.cyan(column.originalName)} (${metadata})` - } - - renderTableName(originalName: string) { - const tableEdit = this.tableEdits.find(({name}) => name === originalName); - const tableDelete = this.tableDeletions.find(({name}) => name === originalName); - if (tableDelete) { - return `• ${chalk.red.strikethrough(originalName)}` - } - if (tableEdit) { - return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}` - } - return `• ${chalk.bold(originalName)}`; - } - - async run(): Promise { - await this.showSchemaEdit() - } - - clear() { - process.stdout.write('\x1b[2J'); - process.stdout.write('\x1b[0f'); - } - - footer() { - return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; - } - tableNameField = { - name: 'name', - message: 'The table name', - validate(value: string, state: unknown, item: unknown, index: number) { - // TODO make sure no other tables have this name - return notEmptyString(value) - } - } - async showSchemaEdit() { - const tableChoices: SelectChoice[] = [] - const schemaChoice: SelectChoice = { name: { type: 'schema' }, message: 'Tables', role: 'heading', choices: tableChoices } - - for (const table of dummySchema.schema.tables) { + + + const tablesToLoop = [...dummySchema.schema.tables, ...this.tableAdditions.map((addition) => ({ + name: addition.name, + columns: [] + }))] + for (const table of tablesToLoop) { const columnChoices: SelectChoice[] = [] const editTable: SelectChoice = { name: { type: 'edit-table', table: {name: table.name, newName: table.name }}, @@ -189,7 +79,7 @@ export default class EditSchema extends BaseCommand { originalName: column.name, defaultValue: column.defaultValue, type: column.type, - // @ts-expect-error + // @ts-expect-error todo remove link: column.type === "link" ? {table: column.link?.table} : undefined } const item: SelectChoice = { @@ -203,20 +93,30 @@ export default class EditSchema extends BaseCommand { return item }) - columnChoices.push(...choices) + const newColumns: SelectChoice[] = [] + for (const addition of this.columnAdditions.filter((addition) => addition.tableName === table.name)) { + const formatted = {...addition, tableName: table.name, originalName: addition.name} as any + newColumns.push({ + // todo fix type + name: { type: 'edit-column', column: formatted}, + message: this.renderColumnName({column: formatted }), + disabled: editTableDisabled(table.name, this.tableDeletions), + }) + } - columnChoices.push({ - name: { type: 'add-column', tableName: table.name, column: {name: '', type: 'string', unique: false, nullable: false}}, + columnChoices.push(...choices, ...newColumns, { + name: { type: 'add-column', tableName: table.name, column: {originalName: "", tableName: table.name, name: '', type: 'string', unique: false, nullable: false}}, message: `${chalk.green('+')} Add a column`, disabled: editTableDisabled(table.name, this.tableDeletions), hint: 'Add a column to a table' }) } + tableChoices.push( createSpace(),{ message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: {columns: [], name : ''}}, + name: { type: 'add-table', table: { name : ''}}, }, { message: `${chalk.green('►')} Run migration`, @@ -225,6 +125,7 @@ export default class EditSchema extends BaseCommand { } ) + const select = new Select({ message: 'Schema for database test:main', initial: this.activeIndex, @@ -239,12 +140,9 @@ export default class EditSchema extends BaseCommand { try { if (key.name === 'backspace' || key.name === 'delete') { - if (!selectedItem) return; // add table is not here for example + if (!selectedItem) return; const choice = selectedItem.name; - if (typeof choice !== 'object') return; - - // TODO disabling if (choice.type === 'edit-table') { await select.cancel(); await this.toggleTableDelete({initialTableName: choice.table.name}); @@ -265,6 +163,8 @@ export default class EditSchema extends BaseCommand { try { const result: SelectChoice["name"] = await select.run(); if (result.type === 'add-table') { + await select.cancel(); + await this.showAddTable(result.table); } else if (result.type === "edit-column") { await select.cancel(); if (editColumnDisabled(result.column, this.columnDeletions)) { @@ -280,6 +180,8 @@ export default class EditSchema extends BaseCommand { await this.showTableEdit({initialTableName: result.table.name}); } } else if (result.type === "add-column") { + await select.cancel(); + await this.showAddColumn(result); } else if (result.type === 'migrate') { this.editsToMigrations() if (validateMigration(this.currentMigration)) { @@ -295,6 +197,64 @@ export default class EditSchema extends BaseCommand { } } + + renderColumnName({column}: {column: EditColumnPayload["column"]}) { + const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); + const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); + const tableDelete = this.tableDeletions.find(({name}) => name === column.tableName); + + const metadata = [ + `${chalk.gray.italic(column.type)}${column.type === "link" ? ` → ${chalk.gray.italic(column.link?.table)}` : ""}`, + column.unique ? chalk.gray.italic('unique') : '', + column.nullable ? chalk.gray.italic('not null') : '', + column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' + ].filter(Boolean) + .join(' '); + + if (columnDelete || tableDelete) { + return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})` + } + if (columnEdit) { + // TODO show separate field edits if name not changed + return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})` + } + + return `- ${chalk.cyan(column.originalName)} (${metadata})` + } + + renderTableName(originalName: string, newTable: boolean = false) { + const tableEdit = this.tableEdits.find(({name}) => name === originalName); + const tableDelete = this.tableDeletions.find(({name}) => name === originalName); + if (tableDelete) { + return `• ${chalk.red.strikethrough(originalName)}` + } + if (tableEdit) { + return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}` + } + return newTable ? `• ${chalk.bold(originalName)}` : `• ${chalk.bold(originalName)}`; + } + + async run(): Promise { + await this.showSchemaEdit() + } + + clear() { + process.stdout.write('\x1b[2J'); + process.stdout.write('\x1b[0f'); + } + + footer() { + return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; + } + tableNameField = { + name: 'name', + message: 'The table name', + validate(value: string, state: unknown, item: unknown, index: number) { + // TODO make sure no other tables have this name + return notEmptyString(value) + } + } + async toggleTableDelete({initialTableName}: {initialTableName: string}) { const existingEntry = this.tableDeletions.find(({name}) => name === initialTableName) if (existingEntry) { @@ -408,6 +368,90 @@ try { } } +async showAddColumn({tableName, column}: {tableName: AddColumnPayload["tableName"], column: AddColumnPayload["column"]}) { + this.clear(); + const template = ` + { + add_column: { + name: \${name}, + nullable: \${nullable}, + unique: {name: \${unique}}, + } + } +}` + + +const noExistingColumnName = (value: string) => { + // Todo make sure non edited names to conflict + return !this.columnEdits.find(({name, tableName}) => tableName === tableName && name === value) ? true : "Name already exists" +} + +const snippet = new Snippet({ + message: "Edit a column", + fields: [ + { + name: 'name', + message: "", + validate: (value: string) => { + // Todo field does not start with xata_ + return notEmptyString(value) && noExistingColumnName(value) + } + }, + { + name: 'nullable', + message: "false", + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value) + } + }, + { + name: 'unique', + message: "false", + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value) + } + } + ], + footer: this.footer, + template +}); +try { + const { values } = await snippet.run(); + + this.columnAdditions.push({name: values.name, defaultValue: column.defaultValue, type: column.type, nullable: values.notNull, unique: values.unique, tableName, originalName: column.originalName}) + await this.showSchemaEdit(); + +} catch (err) { + if (err) throw err; +} + +} + + +async showAddTable({name}: {name: AddTablePayload["table"]["name"]}) { + this.clear(); + const snippet = new Snippet({ + message: "Add a table", + initial: { name: name }, + fields: [ + this.tableNameField, + ], + footer: this.footer, + template: ` + Name: \${name} + ` + // TODO validate name + }); + + try { + const answer: { values: { name: string } } = await snippet.run(); + this.tableAdditions.push({name: answer.values.name}) + this.showSchemaEdit() + } catch (err) { + if (err) throw err; + } +} + async showTableEdit({initialTableName}: {initialTableName: string}) { this.clear() const snippet = new Snippet({ @@ -449,6 +493,71 @@ try { if (err) throw err; } } + + + editsToMigrations = () => { + // TODO rename table and rename columns go last + // TODO bundle new columns with table additions + const tableEdits: {rename_table: OpRenameTable}[] = this.tableEdits.map(({name, newName}) => { + return {rename_table: { + type: 'rename_table', + from: name, + to: newName + }} + }) + + const tableDeletions: {drop_table: OpDropTable}[] = this.tableDeletions.map(({name}) => { + return {drop_table: { + type: 'drop_table', + name: name + }} + }) + // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS + const columnEdits: {alter_column: OpAlterColumn}[] = this.columnEdits.map(({originalName, tableName, name}) => { + const edit: {alter_column: OpAlterColumn} = {alter_column: { + column: originalName, + table: tableName, + nullable: false, + name: originalName !== name ? name : undefined, + }} + return edit + }) + this.currentMigration.operations.push(...columnEdits) + + const columnDeletions: {drop_column: OpDropColumn}[] = Object.entries(this.columnDeletions).map((entry) => { + return entry[1].map((e) => { + return { + drop_column: { + type: 'drop_column', + column: e, + table: entry[0] + } + } + })}).flat().filter((operation) => !this.tableDeletions.some(({name}) => operation.drop_column.table === name)) + + const tableAdditions: {create_table: OpCreateTable}[] = this.tableAdditions.map(({name}) => { + return {create_table: { + type: 'create_table', + name: name, + columns: [], + }} + }) + + const columnAdditions: {add_column: OpAddColumn}[] = this.columnAdditions.map(({name, tableName, type, nullable, unique, defaultValue}) => { + return {add_column: { + column: { + name, + type, + nullable, + unique, + defaultValue + }, + table: tableName + }} + }) + + this.currentMigration.operations.push(...tableEdits, ...tableDeletions, ...columnDeletions, ...tableAdditions, ...columnAdditions) + } } const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index d412f2e9e..2debd9522 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -3,17 +3,6 @@ export type AddTablePayload = { type: 'add-table'; table: { name: string; - columns: { - name: string; - type: string; - unique: boolean; - nullable: boolean; - default?: string; - vectorDimension?: string - link?: { - table: string - } - }[]; } } @@ -34,7 +23,9 @@ export type AddTablePayload = { unique: boolean; nullable: boolean; defaultValue?: string; - vectorDimension?: string + vectorDimension?: string; + originalName: string; + tableName: string; link?: { table: string } From 38b3f4b3b57c9b7913a6dee04ff67a29f2c77b49 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 11:28:36 +0200 Subject: [PATCH 019/145] clean --- cli/src/commands/schema/edit.ts | 786 +++++++++++++++++--------------- 1 file changed, 425 insertions(+), 361 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 3be5988da..59618ebfa 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,11 +1,28 @@ import { BaseCommand } from '../../base.js'; import { Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; -import { OpAddColumn, OpAlterColumn, OpCreateTable, OpDropColumn, OpDropTable, OpRenameTable, PgRollMigration, PgRollMigrationDefinition } from '@xata.io/pgroll'; +import { + OpAddColumn, + OpAlterColumn, + OpCreateTable, + OpDropColumn, + OpDropTable, + OpRenameTable, + PgRollMigration, + PgRollMigrationDefinition +} from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; import { dummySchema } from './dummySchema.js'; -import { AddColumnPayload, AddTablePayload, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, EditTablePayload, SelectChoice } from './types.js'; +import { + AddColumnPayload, + AddTablePayload, + DeleteColumnPayload, + DeleteTablePayload, + EditColumnPayload, + EditTablePayload, + SelectChoice +} from './types.js'; const { Select, Snippet, Confirm } = enquirer as any; @@ -36,95 +53,102 @@ export default class EditSchema extends BaseCommand { database!: string; branch!: string; - tableAdditions: AddTablePayload["table"][] = []; - tableEdits: EditTablePayload["table"][] = []; + tableAdditions: AddTablePayload['table'][] = []; + tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; - columnAdditions: AddColumnPayload["column"][] = []; - columnEdits: EditColumnPayload["column"][] = []; + columnAdditions: AddColumnPayload['column'][] = []; + columnEdits: EditColumnPayload['column'][] = []; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; - activeIndex: number = 0 + activeIndex: number = 0; async showSchemaEdit() { - const tableChoices: SelectChoice[] = [] - const schemaChoice: SelectChoice = { - name: { type: 'schema' }, - message: 'Tables', - role: 'heading', - choices: tableChoices - } - - - const tablesToLoop = [...dummySchema.schema.tables, ...this.tableAdditions.map((addition) => ({ - name: addition.name, - columns: [] - }))] - for (const table of tablesToLoop) { - const columnChoices: SelectChoice[] = [] - const editTable: SelectChoice = { - name: { type: 'edit-table', table: {name: table.name, newName: table.name }}, - message: this.renderTableName(table.name), - choices: columnChoices, - } - tableChoices.push(editTable) - const columns = Object.values(table.columns); - const choices: SelectChoice[] = columns.filter(({name}) => !name.toLowerCase().startsWith("xata_")).map((column) => { - const col: EditColumnPayload["column"] = { - name: column.name, - unique: column.unique, - nullable: column.notNull, - tableName: table.name, - originalName: column.name, - defaultValue: column.defaultValue, - type: column.type, - // @ts-expect-error todo remove - link: column.type === "link" ? {table: column.link?.table} : undefined - } - const item: SelectChoice = { - name: { - type: "edit-column", - column: col - }, - message: this.renderColumnName({column: col}), - disabled: editTableDisabled(table.name, this.tableDeletions), - } - return item - }) - - const newColumns: SelectChoice[] = [] + const tableChoices: SelectChoice[] = []; + const schemaChoice: SelectChoice = { + name: { type: 'schema' }, + message: 'Tables', + role: 'heading', + choices: tableChoices + }; + + const tablesToLoop = [ + ...dummySchema.schema.tables, + ...this.tableAdditions.map((addition) => ({ + name: addition.name, + columns: [] + })) + ]; + for (const table of tablesToLoop) { + const columnChoices: SelectChoice[] = []; + const editTable: SelectChoice = { + name: { type: 'edit-table', table: { name: table.name, newName: table.name } }, + message: this.renderTableName(table.name), + choices: columnChoices + }; + tableChoices.push(editTable); + const columns = Object.values(table.columns); + const choices: SelectChoice[] = columns + .filter(({ name }) => !name.toLowerCase().startsWith('xata_')) + .map((column) => { + const col: EditColumnPayload['column'] = { + name: column.name, + unique: column.unique, + nullable: column.notNull, + tableName: table.name, + originalName: column.name, + defaultValue: column.defaultValue, + type: column.type, + // @ts-expect-error todo remove + link: column.type === 'link' ? { table: column.link?.table } : undefined + }; + const item: SelectChoice = { + name: { + type: 'edit-column', + column: col + }, + message: this.renderColumnName({ column: col }), + disabled: editTableDisabled(table.name, this.tableDeletions) + }; + return item; + }); + + const newColumns: SelectChoice[] = []; for (const addition of this.columnAdditions.filter((addition) => addition.tableName === table.name)) { - const formatted = {...addition, tableName: table.name, originalName: addition.name} as any + const formatted = { ...addition, tableName: table.name, originalName: addition.name } as any; newColumns.push({ // todo fix type - name: { type: 'edit-column', column: formatted}, - message: this.renderColumnName({column: formatted }), - disabled: editTableDisabled(table.name, this.tableDeletions), - }) + name: { type: 'edit-column', column: formatted }, + message: this.renderColumnName({ column: formatted }), + disabled: editTableDisabled(table.name, this.tableDeletions) + }); } columnChoices.push(...choices, ...newColumns, { - name: { type: 'add-column', tableName: table.name, column: {originalName: "", tableName: table.name, name: '', type: 'string', unique: false, nullable: false}}, + name: { + type: 'add-column', + tableName: table.name, + column: { originalName: '', tableName: table.name, name: '', type: 'string', unique: false, nullable: false } + }, message: `${chalk.green('+')} Add a column`, disabled: editTableDisabled(table.name, this.tableDeletions), hint: 'Add a column to a table' - }) + }); } - tableChoices.push( - createSpace(),{ + createSpace(), + { message: `${chalk.green('+')} Add a table`, - name: { type: 'add-table', table: { name : ''}}, + name: { type: 'add-table', table: { name: '' } } }, { message: `${chalk.green('►')} Run migration`, name: { type: 'migrate' }, - hint: "Run the migration" + hint: 'Run the migration' } - ) - + ); const select = new Select({ message: 'Schema for database test:main', @@ -135,24 +159,23 @@ export default class EditSchema extends BaseCommand { }); select.on('keypress', async (char: string, key: { name: string; action: string }) => { - this.activeIndex = select.state.index + this.activeIndex = select.state.index; const selectedItem = select.state.choices[select.state.index]; try { if (key.name === 'backspace' || key.name === 'delete') { - - if (!selectedItem) return; + if (!selectedItem) return; const choice = selectedItem.name; if (typeof choice !== 'object') return; if (choice.type === 'edit-table') { - await select.cancel(); - await this.toggleTableDelete({initialTableName: choice.table.name}); - await this.showSchemaEdit() - } + await select.cancel(); + await this.toggleTableDelete({ initialTableName: choice.table.name }); + await this.showSchemaEdit(); + } if (choice.type === 'edit-column') { - await select.cancel(); + await select.cancel(); await this.toggleColumnDelete(choice); - await this.showSchemaEdit() - } + await this.showSchemaEdit(); + } } } catch (err) { if (err) throw err; @@ -161,11 +184,11 @@ export default class EditSchema extends BaseCommand { }); try { - const result: SelectChoice["name"] = await select.run(); + const result: SelectChoice['name'] = await select.run(); if (result.type === 'add-table') { await select.cancel(); await this.showAddTable(result.table); - } else if (result.type === "edit-column") { + } else if (result.type === 'edit-column') { await select.cancel(); if (editColumnDisabled(result.column, this.columnDeletions)) { await this.showSchemaEdit(); @@ -177,65 +200,69 @@ export default class EditSchema extends BaseCommand { if (editTableDisabled(result.table.name, this.tableDeletions)) { await this.showSchemaEdit(); } else { - await this.showTableEdit({initialTableName: result.table.name}); + await this.showTableEdit({ initialTableName: result.table.name }); } - } else if (result.type === "add-column") { + } else if (result.type === 'add-column') { await select.cancel(); await this.showAddColumn(result); } else if (result.type === 'migrate') { - this.editsToMigrations() + this.editsToMigrations(); if (validateMigration(this.currentMigration)) { // TODO prompt confirm - this.logJson(this.currentMigration) - + this.logJson(this.currentMigration); } else { - this.toErrorJson("Migration is invalid") + this.toErrorJson('Migration is invalid'); } // todo exhaustive check } } catch (error) { - } + if (error) throw error; + } } + renderColumnName({ column }: { column: EditColumnPayload['column'] }) { + const columnEdit = this.columnEdits + .filter((edit) => edit.tableName === column.tableName) + .find(({ originalName: editName }) => editName === column.originalName); + const columnDelete = Object.entries(this.columnDeletions) + .filter((entry) => entry[0] === column.tableName) + .find((entry) => entry[1].includes(column.originalName)); + const tableDelete = this.tableDeletions.find(({ name }) => name === column.tableName); - renderColumnName({column}: {column: EditColumnPayload["column"]}) { - const columnEdit = this.columnEdits.filter((edit) => edit.tableName === column.tableName).find(({originalName: editName}) => editName === column.originalName); - const columnDelete = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)); - const tableDelete = this.tableDeletions.find(({name}) => name === column.tableName); - const metadata = [ - `${chalk.gray.italic(column.type)}${column.type === "link" ? ` → ${chalk.gray.italic(column.link?.table)}` : ""}`, + `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, column.unique ? chalk.gray.italic('unique') : '', column.nullable ? chalk.gray.italic('not null') : '', column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' - ].filter(Boolean) - .join(' '); + ] + .filter(Boolean) + .join(' '); if (columnDelete || tableDelete) { - return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})` + return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})`; } if (columnEdit) { // TODO show separate field edits if name not changed - return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})` + return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; } - - return `- ${chalk.cyan(column.originalName)} (${metadata})` - } - renderTableName(originalName: string, newTable: boolean = false) { - const tableEdit = this.tableEdits.find(({name}) => name === originalName); - const tableDelete = this.tableDeletions.find(({name}) => name === originalName); - if (tableDelete) { - return `• ${chalk.red.strikethrough(originalName)}` + return `- ${chalk.cyan(column.originalName)} (${metadata})`; } - if (tableEdit) { - return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}` + + renderTableName(originalName: string, newTable: boolean = false) { + const tableEdit = this.tableEdits.find(({ name }) => name === originalName); + const tableDelete = this.tableDeletions.find(({ name }) => name === originalName); + if (tableDelete) { + return `• ${chalk.red.strikethrough(originalName)}`; + } + if (tableEdit) { + return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}`; + } + return newTable ? `• ${chalk.bold(originalName)}` : `• ${chalk.bold(originalName)}`; } - return newTable ? `• ${chalk.bold(originalName)}` : `• ${chalk.bold(originalName)}`; - } - async run(): Promise { - await this.showSchemaEdit() + async run(): Promise { + await this.showSchemaEdit(); } clear() { @@ -251,54 +278,56 @@ export default class EditSchema extends BaseCommand { message: 'The table name', validate(value: string, state: unknown, item: unknown, index: number) { // TODO make sure no other tables have this name - return notEmptyString(value) + return notEmptyString(value); } - } + }; - async toggleTableDelete({initialTableName}: {initialTableName: string}) { - const existingEntry = this.tableDeletions.find(({name}) => name === initialTableName) - if (existingEntry) { - const index = this.tableDeletions.findIndex(({name}) => name === initialTableName); - if (index > -1) { - this.tableDeletions.splice(index, 1) - } - } else { - this.tableDeletions.push({name: initialTableName }) + async toggleTableDelete({ initialTableName }: { initialTableName: string }) { + const existingEntry = this.tableDeletions.find(({ name }) => name === initialTableName); + if (existingEntry) { + const index = this.tableDeletions.findIndex(({ name }) => name === initialTableName); + if (index > -1) { + this.tableDeletions.splice(index, 1); } - // TODO empty ALL edits + } else { + this.tableDeletions.push({ name: initialTableName }); } + // TODO empty ALL edits + } - async toggleColumnDelete({column}: {column: EditColumnPayload["column"]}) { - const existingEntry = Object.entries(this.columnDeletions).filter((entry) => entry[0] === column.tableName).find((entry) => entry[1].includes(column.originalName)) - if (existingEntry) { - const index = existingEntry[1].findIndex((name) => name === column.originalName); - if (index > -1) { - this.columnDeletions[column.tableName].splice(index, 1) - } - } else { - if (!this.columnDeletions[column.tableName]) { - this.columnDeletions[column.tableName] = [column.originalName] - } else { - this.columnDeletions[column.tableName].push(column.originalName) - } - } + async toggleColumnDelete({ column }: { column: EditColumnPayload['column'] }) { + const existingEntry = Object.entries(this.columnDeletions) + .filter((entry) => entry[0] === column.tableName) + .find((entry) => entry[1].includes(column.originalName)); + if (existingEntry) { + const index = existingEntry[1].findIndex((name) => name === column.originalName); + if (index > -1) { + this.columnDeletions[column.tableName].splice(index, 1); + } + } else { + if (!this.columnDeletions[column.tableName]) { + this.columnDeletions[column.tableName] = [column.originalName]; + } else { + this.columnDeletions[column.tableName].push(column.originalName); } - -async showColumnEdit(column: EditColumnPayload["column"]) { - const alterColumnDefaultValues: {alter_column: OpAlterColumn} = { - alter_column: { - column: column.originalName, - // todo replace with real value - table: column.tableName, - nullable: column.nullable, - unique: {name: "" }, - down: "", - name: "", - up: "", } } - this.clear(); - const template = ` + + async showColumnEdit(column: EditColumnPayload['column']) { + const alterColumnDefaultValues: { alter_column: OpAlterColumn } = { + alter_column: { + column: column.originalName, + // todo replace with real value + table: column.tableName, + nullable: column.nullable, + unique: { name: '' }, + down: '', + name: '', + up: '' + } + }; + this.clear(); + const template = ` { alter_column: { name: \${name}, @@ -306,71 +335,86 @@ async showColumnEdit(column: EditColumnPayload["column"]) { unique: {name: \${unique}}, } } -}` - +}`; -const noExistingColumnName = (value: string) => { - // Todo make sure non edited names to conflict - return !this.columnEdits.find(({name, tableName}) => tableName === column.tableName && name === value) ? true : "Name already exists" -} + const noExistingColumnName = (value: string) => { + // Todo make sure non edited names to conflict + return !this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) + ? true + : 'Name already exists'; + }; -const snippet = new Snippet({ - message: "Edit a column", - initial: alterColumnDefaultValues, - fields: [ - { - name: 'name', - message: alterColumnDefaultValues.alter_column.column, - initial: alterColumnDefaultValues.alter_column.column, - validate: (value: string) => { - // Todo field does not start with xata_ - return notEmptyString(value) && noExistingColumnName(value) - } - }, - { - name: 'nullable', - message: alterColumnDefaultValues.alter_column.nullable ? "false" : "true", - initial: alterColumnDefaultValues.alter_column.nullable ? "false" : "true", - validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value) - } - }, - { - name: 'unique', - message: alterColumnDefaultValues.alter_column.unique ? "true" : "false", - initial: alterColumnDefaultValues.alter_column.unique ? "true" : "false", - validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value) - } - } - ], - footer: this.footer, - template -}); -try { - const { values } = await snippet.run(); - const existingEntry = this.columnEdits.find(({originalName, tableName}) => tableName === column.tableName && originalName === column.originalName) - if (existingEntry) { - existingEntry.name = values.name; - existingEntry.nullable = values.notNull; - existingEntry.unique = values.unique; - } else { - // TODO default value and type - if (values.name !== column.originalName) { - this.columnEdits.push({name: values.name, defaultValue: column.defaultValue, type: column.type, nullable: values.notNull, unique: values.unique, originalName: column.originalName, tableName: column.tableName}) + const snippet = new Snippet({ + message: 'Edit a column', + initial: alterColumnDefaultValues, + fields: [ + { + name: 'name', + message: alterColumnDefaultValues.alter_column.column, + initial: alterColumnDefaultValues.alter_column.column, + validate: (value: string) => { + // Todo field does not start with xata_ + return notEmptyString(value) && noExistingColumnName(value); + } + }, + { + name: 'nullable', + message: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', + initial: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value); + } + }, + { + name: 'unique', + message: alterColumnDefaultValues.alter_column.unique ? 'true' : 'false', + initial: alterColumnDefaultValues.alter_column.unique ? 'true' : 'false', + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value); + } + } + ], + footer: this.footer, + template + }); + try { + const { values } = await snippet.run(); + const existingEntry = this.columnEdits.find( + ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName + ); + if (existingEntry) { + existingEntry.name = values.name; + existingEntry.nullable = values.notNull; + existingEntry.unique = values.unique; + } else { + // TODO default value and type + if (values.name !== column.originalName) { + this.columnEdits.push({ + name: values.name, + defaultValue: column.defaultValue, + type: column.type, + nullable: values.notNull, + unique: values.unique, + originalName: column.originalName, + tableName: column.tableName + }); + } } - + await this.showSchemaEdit(); + } catch (err) { + if (err) throw err; } - await this.showSchemaEdit(); - -} catch (err) { - if (err) throw err; -} -} + } -async showAddColumn({tableName, column}: {tableName: AddColumnPayload["tableName"], column: AddColumnPayload["column"]}) { - this.clear(); - const template = ` + async showAddColumn({ + tableName, + column + }: { + tableName: AddColumnPayload['tableName']; + column: AddColumnPayload['column']; + }) { + this.clear(); + const template = ` { add_column: { name: \${name}, @@ -378,89 +422,91 @@ async showAddColumn({tableName, column}: {tableName: AddColumnPayload["tableName unique: {name: \${unique}}, } } -}` +}`; + const noExistingColumnName = (value: string) => { + // Todo make sure non edited names to conflict + return !this.columnEdits.find(({ name, tableName }) => tableName === tableName && name === value) + ? true + : 'Name already exists'; + }; -const noExistingColumnName = (value: string) => { - // Todo make sure non edited names to conflict - return !this.columnEdits.find(({name, tableName}) => tableName === tableName && name === value) ? true : "Name already exists" -} + const snippet = new Snippet({ + message: 'Edit a column', + fields: [ + { + name: 'name', + message: '', + validate: (value: string) => { + // Todo field does not start with xata_ + return notEmptyString(value) && noExistingColumnName(value); + } + }, + { + name: 'nullable', + message: 'false', + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value); + } + }, + { + name: 'unique', + message: 'false', + validate: (value: string) => { + return notEmptyString(value) && noExistingColumnName(value); + } + } + ], + footer: this.footer, + template + }); + try { + const { values } = await snippet.run(); -const snippet = new Snippet({ - message: "Edit a column", - fields: [ - { - name: 'name', - message: "", - validate: (value: string) => { - // Todo field does not start with xata_ - return notEmptyString(value) && noExistingColumnName(value) - } - }, - { - name: 'nullable', - message: "false", - validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value) - } - }, - { - name: 'unique', - message: "false", - validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value) - } + this.columnAdditions.push({ + name: values.name, + defaultValue: column.defaultValue, + type: column.type, + nullable: values.notNull, + unique: values.unique, + tableName, + originalName: column.originalName + }); + await this.showSchemaEdit(); + } catch (err) { + if (err) throw err; } - ], - footer: this.footer, - template -}); -try { - const { values } = await snippet.run(); - - this.columnAdditions.push({name: values.name, defaultValue: column.defaultValue, type: column.type, nullable: values.notNull, unique: values.unique, tableName, originalName: column.originalName}) - await this.showSchemaEdit(); - -} catch (err) { - if (err) throw err; -} - -} - + } -async showAddTable({name}: {name: AddTablePayload["table"]["name"]}) { - this.clear(); - const snippet = new Snippet({ - message: "Add a table", - initial: { name: name }, - fields: [ - this.tableNameField, - ], - footer: this.footer, - template: ` + async showAddTable({ name }: { name: AddTablePayload['table']['name'] }) { + this.clear(); + const snippet = new Snippet({ + message: 'Add a table', + initial: { name: name }, + fields: [this.tableNameField], + footer: this.footer, + template: ` Name: \${name} ` - // TODO validate name - }); - - try { - const answer: { values: { name: string } } = await snippet.run(); - this.tableAdditions.push({name: answer.values.name}) - this.showSchemaEdit() - } catch (err) { - if (err) throw err; + // TODO validate name + }); + + try { + const answer: { values: { name: string } } = await snippet.run(); + this.tableAdditions.push({ name: answer.values.name }); + await this.showSchemaEdit(); + } catch (err) { + if (err) throw err; + } } -} - async showTableEdit({initialTableName}: {initialTableName: string}) { - this.clear() + async showTableEdit({ initialTableName }: { initialTableName: string }) { + this.clear(); const snippet = new Snippet({ - message: "Edit table name", + message: 'Edit table name', initial: { name: initialTableName }, - fields: [ - this.tableNameField, - ], - + fields: [this.tableNameField], + // TODO name cannot be empty // TODO name cannot be already taken footer: this.footer, @@ -471,112 +517,130 @@ async showAddTable({name}: {name: AddTablePayload["table"]["name"]}) { try { const answer: { values: { name: string } } = await snippet.run(); - + // todo abstract into a function if (answer.values.name !== initialTableName) { - const existingEntry = this.tableEdits.find(({name}) => name === initialTableName) - if (existingEntry) { - - existingEntry.newName = answer.values.name; + const existingEntry = this.tableEdits.find(({ name }) => name === initialTableName); + if (existingEntry) { + existingEntry.newName = answer.values.name; + } else { + this.tableEdits.push({ name: initialTableName, newName: answer.values.name }); + } } else { - this.tableEdits.push({name: initialTableName, newName: answer.values.name}) - } - } else { - const index = this.tableEdits.findIndex(({name}) => name === initialTableName); - if (index > -1) { - this.tableEdits.splice(index, 1) + const index = this.tableEdits.findIndex(({ name }) => name === initialTableName); + if (index > -1) { + this.tableEdits.splice(index, 1); + } } - } - - this.showSchemaEdit() + await this.showSchemaEdit(); } catch (err) { if (err) throw err; } } - editsToMigrations = () => { // TODO rename table and rename columns go last // TODO bundle new columns with table additions - const tableEdits: {rename_table: OpRenameTable}[] = this.tableEdits.map(({name, newName}) => { - return {rename_table: { - type: 'rename_table', - from: name, - to: newName - }} - }) + const tableEdits: { rename_table: OpRenameTable }[] = this.tableEdits.map(({ name, newName }) => { + return { + rename_table: { + type: 'rename_table', + from: name, + to: newName + } + }; + }); - const tableDeletions: {drop_table: OpDropTable}[] = this.tableDeletions.map(({name}) => { - return {drop_table: { - type: 'drop_table', - name: name - }} - }) + const tableDeletions: { drop_table: OpDropTable }[] = this.tableDeletions.map(({ name }) => { + return { + drop_table: { + type: 'drop_table', + name: name + } + }; + }); // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS - const columnEdits: {alter_column: OpAlterColumn}[] = this.columnEdits.map(({originalName, tableName, name}) => { - const edit: {alter_column: OpAlterColumn} = {alter_column: { - column: originalName, - table: tableName, - nullable: false, - name: originalName !== name ? name : undefined, - }} - return edit - }) - this.currentMigration.operations.push(...columnEdits) + const columnEdits: { alter_column: OpAlterColumn }[] = this.columnEdits.map(({ originalName, tableName, name }) => { + const edit: { alter_column: OpAlterColumn } = { + alter_column: { + column: originalName, + table: tableName, + nullable: false, + name: originalName !== name ? name : undefined + } + }; + return edit; + }); + this.currentMigration.operations.push(...columnEdits); + + const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(this.columnDeletions) + .map((entry) => { + return entry[1].map((e) => { + return { + drop_column: { + type: 'drop_column', + column: e, + table: entry[0] + } + }; + }); + }) + .flat() + .filter((operation) => !this.tableDeletions.some(({ name }) => operation.drop_column.table === name)); + + const tableAdditions: { create_table: OpCreateTable }[] = this.tableAdditions.map(({ name }) => { + return { + create_table: { + type: 'create_table', + name: name, + columns: [] + } + }; + }); - const columnDeletions: {drop_column: OpDropColumn}[] = Object.entries(this.columnDeletions).map((entry) => { - return entry[1].map((e) => { + const columnAdditions: { add_column: OpAddColumn }[] = this.columnAdditions.map( + ({ name, tableName, type, nullable, unique, defaultValue }) => { return { - drop_column: { - type: 'drop_column', - column: e, - table: entry[0] - } + add_column: { + column: { + name, + type, + nullable, + unique, + defaultValue + }, + table: tableName + } + }; } - })}).flat().filter((operation) => !this.tableDeletions.some(({name}) => operation.drop_column.table === name)) - - const tableAdditions: {create_table: OpCreateTable}[] = this.tableAdditions.map(({name}) => { - return {create_table: { - type: 'create_table', - name: name, - columns: [], - }} - }) - - const columnAdditions: {add_column: OpAddColumn}[] = this.columnAdditions.map(({name, tableName, type, nullable, unique, defaultValue}) => { - return {add_column: { - column: { - name, - type, - nullable, - unique, - defaultValue - }, - table: tableName - }} - }) - - this.currentMigration.operations.push(...tableEdits, ...tableDeletions, ...columnDeletions, ...tableAdditions, ...columnAdditions) - } + ); + this.currentMigration.operations.push( + ...tableEdits, + ...tableDeletions, + ...columnDeletions, + ...tableAdditions, + ...columnAdditions + ); + }; } const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { - return tableDeletions.some(({name: tableName}) => tableName === name) ? true : false -} + return tableDeletions.some(({ name: tableName }) => tableName === name) ? true : false; +}; /** Necessary because disabling prevents the user from "undeleting" a column */ -const editColumnDisabled = (column: EditColumnPayload["column"], columnDeletions: DeleteColumnPayload) => { - return columnDeletions[column.tableName]?.includes(column.originalName) ? true : false -} +const editColumnDisabled = (column: EditColumnPayload['column'], columnDeletions: DeleteColumnPayload) => { + return columnDeletions[column.tableName]?.includes(column.originalName) ? true : false; +}; const validateMigration = (migration: object) => { - return PgRollMigrationDefinition.safeParse(migration).success -} + return PgRollMigrationDefinition.safeParse(migration).success; +}; const notEmptyString = (value: string) => { - return value !== "" ? true : "Name cannot be empty" -} + return value !== '' ? true : 'Name cannot be empty'; +}; const createSpace = (): SelectChoice => { return { name: { type: 'space' }, message: ' ', role: 'heading' }; -} +}; From 9895618baa825400961699c81aa917d0887b92c8 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 11:31:35 +0200 Subject: [PATCH 020/145] type --- cli/src/commands/schema/edit.ts | 10 +-- cli/src/commands/schema/types.ts | 123 ++++++++++++++----------------- 2 files changed, 56 insertions(+), 77 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 59618ebfa..1e2f3defc 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -24,13 +24,7 @@ import { SelectChoice } from './types.js'; -const { Select, Snippet, Confirm } = enquirer as any; - -const types = ['string', 'int', 'float', 'bool', 'text', 'multiple', 'link', 'email', 'datetime', 'vector', 'json']; -const typesList = types.join(', '); -const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; -const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; -const notNullUnsupportedTypes = defaultValueUnsupportedTypes; +const { Select, Snippet } = enquirer as any; export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -98,7 +92,7 @@ export default class EditSchema extends BaseCommand { nullable: column.notNull, tableName: table.name, originalName: column.name, - defaultValue: column.defaultValue, + defaultValue: column.defaultValue ?? undefined, type: column.type, // @ts-expect-error todo remove link: column.type === 'link' ? { table: column.link?.table } : undefined diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 2debd9522..0361a9c24 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -1,73 +1,58 @@ +type ColumnData = { + name: string; + type: string; + unique: boolean; + nullable: boolean; + defaultValue?: string; + vectorDimension?: string; + originalName: string; + tableName: string; + link?: { + table: string; + }; +}; export type AddTablePayload = { - type: 'add-table'; - table: { - name: string; - } - } - - export type EditTablePayload = { - type: 'edit-table'; - table: { - name: string; - newName: string - }; - } - - export type AddColumnPayload = { - type: 'add-column'; - tableName: string; - column: { - name: string; - type: string; - unique: boolean; - nullable: boolean; - defaultValue?: string; - vectorDimension?: string; - originalName: string; - tableName: string; - link?: { - table: string - } - } - } - - export type DeleteColumnPayload = { [tableName: string]: string[] } - - export type EditColumnPayload = { - type: 'edit-column'; - column: { - name: string; - unique: boolean; - nullable: boolean; - originalName: string; - tableName: string - defaultValue: any - type: string, - link?: { - table: string - } - }; - } + type: 'add-table'; + table: { + name: string; + }; +}; - export type DeleteTablePayload = { +export type EditTablePayload = { + type: 'edit-table'; + table: { name: string; - } - - export type FormatPayload = { - type: 'space' | 'migrate' | 'schema'; - } - - export type SelectChoice = { - name: - | FormatPayload - | AddTablePayload - | EditTablePayload - | AddColumnPayload - | EditColumnPayload - message: string; - role?: string; - choices?: SelectChoice[]; - disabled?: boolean; - hint?: string; - } \ No newline at end of file + newName: string; + }; +}; + +export type AddColumnPayload = { + type: 'add-column'; + tableName: string; + column: ColumnData; +}; + +export type EditColumnPayload = { + type: 'edit-column'; + column: ColumnData; +}; + +export type FormatPayload = { + type: 'space' | 'migrate' | 'schema'; +}; + +export type SelectChoice = { + name: FormatPayload | AddTablePayload | EditTablePayload | AddColumnPayload | EditColumnPayload; + message: string; + role?: string; + choices?: SelectChoice[]; + disabled?: boolean; + hint?: string; +}; + +export type DeleteTablePayload = { + name: string; +}; + +export type DeleteColumnPayload = { [tableName: string]: string[] }; From 04a980b473115f35e7e1a3721e614cc0bbe51494 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 11:33:54 +0200 Subject: [PATCH 021/145] clean --- cli/package.json | 4 - cli/src/migrations/pgroll.ts | 2 +- pnpm-lock.yaml | 185 +++-------------------------------- 3 files changed, 15 insertions(+), 176 deletions(-) diff --git a/cli/package.json b/cli/package.json index d33fe2c3c..a96b63c9b 100644 --- a/cli/package.json +++ b/cli/package.json @@ -19,14 +19,11 @@ "/oclif.manifest.json" ], "dependencies": { - "@inquirer/prompts": "^4.3.0", "@oclif/core": "^3.25.2", "@oclif/plugin-help": "^6.0.18", "@oclif/plugin-not-found": "^3.0.14", "@oclif/plugin-plugins": "^4.3.7", "@types/ini": "^4.1.0", - "@types/inquirer": "^9.0.7", - "@types/prompts": "^2.4.9", "@types/semver": "^7.5.8", "@xata.io/client": "workspace:*", "@xata.io/codegen": "workspace:*", @@ -42,7 +39,6 @@ "enquirer": "^2.4.1", "env-editor": "^1.1.0", "ini": "^4.1.2", - "inquirer": "^9.2.16", "lodash.compact": "^3.0.1", "lodash.get": "^4.4.2", "lodash.set": "^4.3.2", diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index c0060c890..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -47,7 +47,7 @@ const getPgRollLink = (table: any, column: any) => { return null; }; -export function pgRollToXataColumnType(type: string): string { +function pgRollToXataColumnType(type: string): string { switch (type) { case 'boolean': return 'bool'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3fdc79bb3..6a389cea9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -142,9 +142,6 @@ importers: cli: dependencies: - '@inquirer/prompts': - specifier: ^4.3.0 - version: 4.3.0 '@oclif/core': specifier: ^3.25.2 version: 3.25.3 @@ -160,12 +157,6 @@ importers: '@types/ini': specifier: ^4.1.0 version: 4.1.0 - '@types/inquirer': - specifier: ^9.0.7 - version: 9.0.7 - '@types/prompts': - specifier: ^2.4.9 - version: 2.4.9 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -211,9 +202,6 @@ importers: ini: specifier: ^4.1.2 version: 4.1.2 - inquirer: - specifier: ^9.2.16 - version: 9.2.16 lodash.compact: specifier: ^3.0.1 version: 3.0.1 @@ -3698,18 +3686,6 @@ packages: { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } dev: false - /@inquirer/checkbox@2.2.0: - resolution: - { integrity: sha512-L+owhbEm98dnP15XtT/8D1+nNvQecf8HngVFYTJaDR0jlfIeOHFHRbjhLKoVYxks85yY8mLaYXVZQLU46KTkXg== } - engines: { node: '>=18' } - dependencies: - '@inquirer/core': 7.1.0 - '@inquirer/type': 1.2.1 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - figures: 3.2.0 - dev: false - /@inquirer/confirm@3.1.0: resolution: { integrity: sha512-nH5mxoTEoqk6WpoBz80GMpDSm9jH5V9AF8n+JZAZfMzd9gHeEG9w1o3KawPRR72lfzpP+QxBHLkOKLEApwhDiQ== } @@ -3738,27 +3714,6 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - /@inquirer/editor@2.1.0: - resolution: - { integrity: sha512-gBxebaZLATrQyjZnuPLcfM2WxjZG6rjEmnzepJb/0bypi1PgWt9rZoH+a/j1uJx/tF+jhYrvSBr8McEOWcyAWg== } - engines: { node: '>=18' } - dependencies: - '@inquirer/core': 7.1.0 - '@inquirer/type': 1.2.1 - external-editor: 3.1.0 - dev: false - - /@inquirer/expand@2.1.0: - resolution: - { integrity: sha512-jQgF7ImxxsX4MM8BUk33ffOvx3YOlaEqNCLTxBk7eZ5KOqOshmUq9FnOMnacUXpu7MJtkV/DJHubFiC/q4NF6g== } - engines: { node: '>=18' } - dependencies: - '@inquirer/core': 7.1.0 - '@inquirer/type': 1.2.1 - chalk: 4.1.2 - figures: 3.2.0 - dev: false - /@inquirer/input@2.1.0: resolution: { integrity: sha512-o57pST+xxZfGww1h4G7ISiX37KlLcajhKgKGG7/h8J6ClWtsyqwMv1el9Ds/4geuYN/HcPj0MyX9gTEO62UpcA== } @@ -3766,42 +3721,7 @@ packages: dependencies: '@inquirer/core': 7.1.0 '@inquirer/type': 1.2.1 - - /@inquirer/password@2.1.0: - resolution: - { integrity: sha512-93x0Rpq75SP9u4s3zh4UcSKvn8KBGgyF3tKN7bNQp3bseROR0uJgySDp8iTQpcTfhJy41R+2Jr4xNLKGhr6Gzw== } - engines: { node: '>=18' } - dependencies: - '@inquirer/core': 7.1.0 - '@inquirer/type': 1.2.1 - ansi-escapes: 4.3.2 - dev: false - - /@inquirer/prompts@4.3.0: - resolution: - { integrity: sha512-bSpFHqCnHrfmYgIMEFmA2YPPKxyw3n3ouI5S8m4N8krztJm1hFpQ8SdsZbBPRytoMaVvUgkASmiC0ih2VhDW9g== } - engines: { node: '>=18' } - dependencies: - '@inquirer/checkbox': 2.2.0 - '@inquirer/confirm': 3.1.0 - '@inquirer/core': 7.1.0 - '@inquirer/editor': 2.1.0 - '@inquirer/expand': 2.1.0 - '@inquirer/input': 2.1.0 - '@inquirer/password': 2.1.0 - '@inquirer/rawlist': 2.1.0 - '@inquirer/select': 2.2.0 - dev: false - - /@inquirer/rawlist@2.1.0: - resolution: - { integrity: sha512-PykR/2LwcXcCeglDVj3OVVNrbhY2cyHTveWoSm9FmnksDtQDIXJqYgYGgvPOdPsDIj3VGVBKSXYNk+kHaQv0gw== } - engines: { node: '>=18' } - dependencies: - '@inquirer/core': 7.1.0 - '@inquirer/type': 1.2.1 - chalk: 4.1.2 - dev: false + dev: true /@inquirer/select@2.2.0: resolution: @@ -3813,6 +3733,7 @@ packages: ansi-escapes: 4.3.2 chalk: 4.1.2 figures: 3.2.0 + dev: true /@inquirer/type@1.2.1: resolution: @@ -3893,14 +3814,6 @@ packages: resolution: { integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== } - /@ljharb/through@2.3.13: - resolution: - { integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== } - engines: { node: '>= 0.4' } - dependencies: - call-bind: 1.0.7 - dev: false - /@manypkg/find-root@1.1.0: resolution: { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } @@ -6210,14 +6123,6 @@ packages: { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } dev: false - /@types/inquirer@9.0.7: - resolution: - { integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g== } - dependencies: - '@types/through': 0.0.33 - rxjs: 7.8.1 - dev: false - /@types/istanbul-lib-coverage@2.0.6: resolution: { integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== } @@ -6346,14 +6251,6 @@ packages: { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } dev: true - /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } - dependencies: - '@types/node': 20.11.30 - kleur: 3.0.3 - dev: false - /@types/relaxed-json@1.0.4: resolution: { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } @@ -6383,13 +6280,6 @@ packages: { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } dev: true - /@types/through@0.0.33: - resolution: - { integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ== } - dependencies: - '@types/node': 20.11.30 - dev: false - /@types/tmp@0.2.6: resolution: { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } @@ -7817,6 +7707,7 @@ packages: /chardet@0.7.0: resolution: { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + dev: true /check-error@1.0.3: resolution: @@ -7906,6 +7797,7 @@ packages: engines: { node: '>=8' } dependencies: restore-cursor: 3.1.0 + dev: true /cli-cursor@4.0.0: resolution: @@ -8009,6 +7901,7 @@ packages: resolution: { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } engines: { node: '>=0.8' } + dev: true /code-block-writer@13.0.1: resolution: @@ -8527,6 +8420,7 @@ packages: { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } dependencies: clone: 1.0.4 + dev: true /defer-to-connect@2.0.1: resolution: @@ -9867,6 +9761,7 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 + dev: true /fast-deep-equal@3.1.3: resolution: @@ -10788,6 +10683,7 @@ packages: engines: { node: '>=0.10.0' } dependencies: safer-buffer: 2.1.2 + dev: true /idb-wrapper@1.7.2: resolution: @@ -10901,28 +10797,6 @@ packages: - utf-8-validate dev: true - /inquirer@9.2.16: - resolution: - { integrity: sha512-qzgbB+yNjgSzk2omeqMDtO9IgJet/UL67luT1MaaggRpGK73DBQct5Q4pipwFQcIKK1GbMODYd4UfsRCkSP1DA== } - engines: { node: '>=18' } - dependencies: - '@ljharb/through': 2.3.13 - ansi-escapes: 4.3.2 - chalk: 5.3.0 - cli-cursor: 3.1.0 - cli-width: 4.1.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 1.0.0 - ora: 5.4.1 - run-async: 3.0.0 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: false - /internal-slot@1.0.7: resolution: { integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== } @@ -11104,12 +10978,6 @@ packages: is-docker: 3.0.0 dev: false - /is-interactive@1.0.0: - resolution: - { integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== } - engines: { node: '>=8' } - dev: false - /is-negative-zero@2.0.3: resolution: { integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== } @@ -11232,12 +11100,6 @@ packages: which-typed-array: 1.1.15 dev: true - /is-unicode-supported@0.1.0: - resolution: - { integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== } - engines: { node: '>=10' } - dev: false - /is-unicode-supported@1.3.0: resolution: { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } @@ -11858,15 +11720,6 @@ packages: semver: 7.6.0 dev: false - /log-symbols@4.1.0: - resolution: - { integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== } - engines: { node: '>=10' } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: false - /log-update@6.0.0: resolution: { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } @@ -13079,22 +12932,6 @@ packages: type-check: 0.4.0 dev: true - /ora@5.4.1: - resolution: - { integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== } - engines: { node: '>=10' } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: false - /os-name@5.1.0: resolution: { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } @@ -13108,6 +12945,7 @@ packages: resolution: { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } engines: { node: '>=0.10.0' } + dev: true /outdent@0.5.0: resolution: @@ -14436,6 +14274,7 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: true /restore-cursor@4.0.0: resolution: @@ -14628,6 +14467,7 @@ packages: { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } dependencies: tslib: 2.6.2 + dev: true /safe-array-concat@1.1.2: resolution: @@ -14671,6 +14511,7 @@ packages: /safer-buffer@2.1.2: resolution: { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + dev: true /scheduler@0.20.2: resolution: @@ -15452,6 +15293,7 @@ packages: engines: { node: '>=0.6.0' } dependencies: os-tmpdir: 1.0.2 + dev: true /tmp@0.2.3: resolution: @@ -16194,6 +16036,7 @@ packages: { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } dependencies: defaults: 1.0.4 + dev: true /web-streams-polyfill@3.3.3: resolution: From 90c5c4878c1ed3edca52f3c8978addd2526bfa7e Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 11:38:16 +0200 Subject: [PATCH 022/145] packages --- cli/package.json | 1 + pnpm-lock.yaml | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/cli/package.json b/cli/package.json index a96b63c9b..5c624119d 100644 --- a/cli/package.json +++ b/cli/package.json @@ -24,6 +24,7 @@ "@oclif/plugin-not-found": "^3.0.14", "@oclif/plugin-plugins": "^4.3.7", "@types/ini": "^4.1.0", + "@types/prompts": "^2.4.9", "@types/semver": "^7.5.8", "@xata.io/client": "workspace:*", "@xata.io/codegen": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a389cea9..e9a9efa35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -157,6 +157,9 @@ importers: '@types/ini': specifier: ^4.1.0 version: 4.1.0 + '@types/prompts': + specifier: ^2.4.9 + version: 2.4.9 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -6251,6 +6254,14 @@ packages: { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } dev: true + /@types/prompts@2.4.9: + resolution: + { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + dependencies: + '@types/node': 20.11.30 + kleur: 3.0.3 + dev: false + /@types/relaxed-json@1.0.4: resolution: { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } From 72ea77f935bedd3bb00babd211c9d5250d01b80a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 4 Apr 2024 14:12:42 +0200 Subject: [PATCH 023/145] remove unecessary edits after deletions --- cli/src/commands/schema/edit.ts | 129 ++++++++++++++++++++++---------- 1 file changed, 89 insertions(+), 40 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 1e2f3defc..c4040c583 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -24,7 +24,7 @@ import { SelectChoice } from './types.js'; -const { Select, Snippet } = enquirer as any; +const { Select, Snippet, Confirm } = enquirer as any; export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -200,13 +200,7 @@ export default class EditSchema extends BaseCommand { await select.cancel(); await this.showAddColumn(result); } else if (result.type === 'migrate') { - this.editsToMigrations(); - if (validateMigration(this.currentMigration)) { - // TODO prompt confirm - this.logJson(this.currentMigration); - } else { - this.toErrorJson('Migration is invalid'); - } + await this.migrate(); // todo exhaustive check } } catch (error) { @@ -214,6 +208,35 @@ export default class EditSchema extends BaseCommand { } } + async migrate() { + this.clear(); + this.currentMigration = { operations: [] }; + this.editsToMigrations(); + const valid = validateMigration(this.currentMigration); + if (valid.success) { + const prompt = new Confirm({ + name: 'question', + message: `Are you sure you want to run the migration? ${JSON.stringify(this.currentMigration, null, 2)}` + }); + try { + const answer = await prompt.run(); + if (!answer) { + await this.showSchemaEdit(); + return; + } + } catch (err) { + if (err) throw err; + // User cancelled + await this.showSchemaEdit(); + return; + } + // TODO run migration + } else { + this.logJson(this.currentMigration); + this.toErrorJson('Migration is invalid:' + valid.error.errors.flatMap((e) => e.message).join('\n')); + } + } + renderColumnName({ column }: { column: EditColumnPayload['column'] }) { const columnEdit = this.columnEdits .filter((edit) => edit.tableName === column.tableName) @@ -533,19 +556,12 @@ export default class EditSchema extends BaseCommand { } editsToMigrations = () => { - // TODO rename table and rename columns go last - // TODO bundle new columns with table additions - const tableEdits: { rename_table: OpRenameTable }[] = this.tableEdits.map(({ name, newName }) => { - return { - rename_table: { - type: 'rename_table', - from: name, - to: newName - } - }; - }); - const tableDeletions: { drop_table: OpDropTable }[] = this.tableDeletions.map(({ name }) => { + this.tableEdits = this.tableEdits.filter(({ name: originalTableName }) => originalTableName !== name); + this.columnAdditions = this.columnAdditions.filter(({ tableName }) => tableName !== name); + delete this.columnDeletions[name]; + this.columnEdits = this.columnEdits.filter(({ tableName }) => tableName !== name); + return { drop_table: { type: 'drop_table', @@ -553,23 +569,13 @@ export default class EditSchema extends BaseCommand { } }; }); - // // TODO IF THERE ARE NEW DELETIONS REMOVE ALL TABLE EDITS AND COLUMNS - const columnEdits: { alter_column: OpAlterColumn }[] = this.columnEdits.map(({ originalName, tableName, name }) => { - const edit: { alter_column: OpAlterColumn } = { - alter_column: { - column: originalName, - table: tableName, - nullable: false, - name: originalName !== name ? name : undefined - } - }; - return edit; - }); - this.currentMigration.operations.push(...columnEdits); const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(this.columnDeletions) .map((entry) => { return entry[1].map((e) => { + this.columnEdits = this.columnEdits.filter( + ({ originalName, tableName }) => originalName !== e || tableName !== entry[0] + ); return { drop_column: { type: 'drop_column', @@ -579,19 +585,59 @@ export default class EditSchema extends BaseCommand { }; }); }) - .flat() - .filter((operation) => !this.tableDeletions.some(({ name }) => operation.drop_column.table === name)); + .flat(); const tableAdditions: { create_table: OpCreateTable }[] = this.tableAdditions.map(({ name }) => { + const relevantColumnAdditions = this.columnAdditions.filter(({ tableName }) => tableName === name); + this.columnAdditions = this.columnAdditions.filter(({ tableName }) => tableName !== name); + return { create_table: { type: 'create_table', name: name, - columns: [] + columns: relevantColumnAdditions.map((col) => { + const correspondingColumnEdit = this.columnEdits.filter( + ({ tableName, originalName }) => tableName === name && col.originalName === originalName + )[0]; + this.columnEdits = this.columnEdits.filter( + ({ tableName, originalName }) => !(tableName === name && col.originalName === originalName) + ); + + return { + name: correspondingColumnEdit.name ?? col.name, + type: correspondingColumnEdit.type ?? col.type, + nullable: correspondingColumnEdit.nullable ?? col.nullable, + unique: correspondingColumnEdit.unique ?? col.unique, + // todo booleans + defaultValue: correspondingColumnEdit.defaultValue ?? col.defaultValue + }; + }) + } + }; + }); + + const tableEdits: { rename_table: OpRenameTable }[] = this.tableEdits.map(({ name, newName }) => { + return { + rename_table: { + type: 'rename_table', + from: name, + to: newName } }; }); + const columnEdits: { alter_column: OpAlterColumn }[] = this.columnEdits.map(({ originalName, tableName, name }) => { + const edit: { alter_column: OpAlterColumn } = { + alter_column: { + column: originalName, + table: tableName, + nullable: false, + name: originalName !== name ? name : undefined + } + }; + return edit; + }); + const columnAdditions: { add_column: OpAddColumn }[] = this.columnAdditions.map( ({ name, tableName, type, nullable, unique, defaultValue }) => { return { @@ -608,12 +654,15 @@ export default class EditSchema extends BaseCommand { }; } ); + this.currentMigration.operations.push( - ...tableEdits, - ...tableDeletions, ...columnDeletions, + ...tableDeletions, ...tableAdditions, - ...columnAdditions + ...columnAdditions, + ...columnEdits, + // todo table renames should go in a separate migration (?) + ...tableEdits ); }; } @@ -628,7 +677,7 @@ const editColumnDisabled = (column: EditColumnPayload['column'], columnDeletions }; const validateMigration = (migration: object) => { - return PgRollMigrationDefinition.safeParse(migration).success; + return PgRollMigrationDefinition.safeParse(migration); }; const notEmptyString = (value: string) => { From 3e32185aaabf2f8fdf1f99d00d4a6c0964677b21 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 11:42:53 +0200 Subject: [PATCH 024/145] tests and fix editsToMigration --- cli/src/commands/schema/edit.test.ts | 377 +++++++++++++++++++++++++++ cli/src/commands/schema/edit.ts | 304 ++++++++++++--------- 2 files changed, 559 insertions(+), 122 deletions(-) create mode 100644 cli/src/commands/schema/edit.test.ts diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts new file mode 100644 index 000000000..23b257544 --- /dev/null +++ b/cli/src/commands/schema/edit.test.ts @@ -0,0 +1,377 @@ +import { beforeEach, expect, test, describe } from 'vitest'; +import { + AddColumnPayload, + AddTablePayload, + DeleteColumnPayload, + DeleteTablePayload, + EditColumnPayload, + EditTablePayload +} from './types'; +import { PgRollMigration } from '@xata.io/pgroll'; +import EditSchema, { editsToMigrations } from './edit'; + +class mockEdit { + tableAdditions: AddTablePayload['table'][] = []; + tableEdits: EditTablePayload['table'][] = []; + tableDeletions: DeleteTablePayload[] = []; + columnAdditions: AddColumnPayload['column'][] = []; + columnEdits: EditColumnPayload['column'][] = []; + columnDeletions: DeleteColumnPayload = {}; + currentMigration: PgRollMigration = { operations: [] }; +} + +const editCommand = new mockEdit(); + +beforeEach(() => { + editCommand.tableAdditions = []; + editCommand.tableEdits = []; + editCommand.tableDeletions = []; + editCommand.columnAdditions = []; + editCommand.columnEdits = []; + editCommand.columnDeletions = {}; + editCommand.currentMigration = { operations: [] }; +}); + +describe('edits to migrations', () => { + describe('single edits to existing entities', () => { + test('add table', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ create_table: { name: 'table1', columns: [] } }]); + }); + + test('delete table', () => { + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); + }); + + test('edit table', () => { + editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ rename_table: { from: 'table1', to: 'table2' } }]); + }); + + test('add column', () => { + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'string', + nullable: false, + unique: false + } + } + } + ]); + }); + + test('edit column', () => { + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + alter_column: { + name: 'col2', + column: 'col1', + nullable: false, + table: 'table1' + } + } + ]); + }); + + test('delete column', () => { + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_column: { + column: 'col1', + table: 'table1' + } + } + ]); + }); + }); + + describe('multiple edits to existing entities', () => { + test('deleting an existing table deletes all table edits', () => { + editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); + }); + test('deleting an existing table deletes all column edits', () => { + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); + }); + test('deleting an existing table deletes all column deletes', () => { + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); + }); + test('deleting an existing table deletes all column additions', () => { + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); + }); + + test('deleting an existing column deletes all column edits', () => { + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_column: { + column: 'col1', + table: 'table1' + } + } + ]); + }); + }); + + describe('new tables', () => { + test('deleting a new table deletes all table edits', () => { + editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_table: { name: 'table1' } + } + ]); + }); + test('deleting a new table deletes all column edits', () => { + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_table: { name: 'table1' } + } + ]); + }); + test('deleting a new table deletes all column deletes', () => { + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_table: { name: 'table1' } + } + ]); + }); + test('deleting a new table deletes all column additions', () => { + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.tableDeletions.push({ name: 'table1' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_table: { name: 'table1' } + } + ]); + }); + test('editing a new table is bundled with the table addition', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { name: 'table2', columns: [] } + } + ]); + }); + test('editing a new table removes the table edit', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { name: 'table2', columns: [] } + } + ]); + }); + }); + + describe('existing tables with new columns', () => { + test('deleting a new column deletes all column additions, edit and deletions', () => { + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([]); + }); + test('editing a new column in an existing table removes the column edit, and gets sent in add_column', () => { + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col2', + type: 'string', + nullable: false, + unique: false + } + } + } + ]); + }); + }); + + describe('new tables with new columns', () => { + test('deleting a new column deletes all column additions, edits, and deletions', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [] + } + } + ]); + }); + test('editing a new column in a new table removes the column edit', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + name: 'col1', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.columnEdits.push({ + name: 'col2', + nullable: false, + originalName: 'col1', + tableName: 'table1', + type: 'string', + unique: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col2', + type: 'string', + nullable: false, + unique: false + } + ] + } + } + ]); + }); + }); +}); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index c4040c583..0630eb27f 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -76,12 +76,11 @@ export default class EditSchema extends BaseCommand { ]; for (const table of tablesToLoop) { const columnChoices: SelectChoice[] = []; - const editTable: SelectChoice = { + tableChoices.push({ name: { type: 'edit-table', table: { name: table.name, newName: table.name } }, message: this.renderTableName(table.name), choices: columnChoices - }; - tableChoices.push(editTable); + }); const columns = Object.values(table.columns); const choices: SelectChoice[] = columns .filter(({ name }) => !name.toLowerCase().startsWith('xata_')) @@ -110,9 +109,9 @@ export default class EditSchema extends BaseCommand { const newColumns: SelectChoice[] = []; for (const addition of this.columnAdditions.filter((addition) => addition.tableName === table.name)) { + // todo fix type const formatted = { ...addition, tableName: table.name, originalName: addition.name } as any; newColumns.push({ - // todo fix type name: { type: 'edit-column', column: formatted }, message: this.renderColumnName({ column: formatted }), disabled: editTableDisabled(table.name, this.tableDeletions) @@ -211,7 +210,7 @@ export default class EditSchema extends BaseCommand { async migrate() { this.clear(); this.currentMigration = { operations: [] }; - this.editsToMigrations(); + this.currentMigration.operations = editsToMigrations(this); const valid = validateMigration(this.currentMigration); if (valid.success) { const prompt = new Confirm({ @@ -259,10 +258,8 @@ export default class EditSchema extends BaseCommand { return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})`; } if (columnEdit) { - // TODO show separate field edits if name not changed return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; } - return `- ${chalk.cyan(column.originalName)} (${metadata})`; } @@ -309,7 +306,6 @@ export default class EditSchema extends BaseCommand { } else { this.tableDeletions.push({ name: initialTableName }); } - // TODO empty ALL edits } async toggleColumnDelete({ column }: { column: EditColumnPayload['column'] }) { @@ -482,12 +478,12 @@ export default class EditSchema extends BaseCommand { this.columnAdditions.push({ name: values.name, - defaultValue: column.defaultValue, - type: column.type, + defaultValue: values.defaultValue, + type: values.type, nullable: values.notNull, unique: values.unique, tableName, - originalName: column.originalName + originalName: values.name }); await this.showSchemaEdit(); } catch (err) { @@ -554,117 +550,6 @@ export default class EditSchema extends BaseCommand { if (err) throw err; } } - - editsToMigrations = () => { - const tableDeletions: { drop_table: OpDropTable }[] = this.tableDeletions.map(({ name }) => { - this.tableEdits = this.tableEdits.filter(({ name: originalTableName }) => originalTableName !== name); - this.columnAdditions = this.columnAdditions.filter(({ tableName }) => tableName !== name); - delete this.columnDeletions[name]; - this.columnEdits = this.columnEdits.filter(({ tableName }) => tableName !== name); - - return { - drop_table: { - type: 'drop_table', - name: name - } - }; - }); - - const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(this.columnDeletions) - .map((entry) => { - return entry[1].map((e) => { - this.columnEdits = this.columnEdits.filter( - ({ originalName, tableName }) => originalName !== e || tableName !== entry[0] - ); - return { - drop_column: { - type: 'drop_column', - column: e, - table: entry[0] - } - }; - }); - }) - .flat(); - - const tableAdditions: { create_table: OpCreateTable }[] = this.tableAdditions.map(({ name }) => { - const relevantColumnAdditions = this.columnAdditions.filter(({ tableName }) => tableName === name); - this.columnAdditions = this.columnAdditions.filter(({ tableName }) => tableName !== name); - - return { - create_table: { - type: 'create_table', - name: name, - columns: relevantColumnAdditions.map((col) => { - const correspondingColumnEdit = this.columnEdits.filter( - ({ tableName, originalName }) => tableName === name && col.originalName === originalName - )[0]; - this.columnEdits = this.columnEdits.filter( - ({ tableName, originalName }) => !(tableName === name && col.originalName === originalName) - ); - - return { - name: correspondingColumnEdit.name ?? col.name, - type: correspondingColumnEdit.type ?? col.type, - nullable: correspondingColumnEdit.nullable ?? col.nullable, - unique: correspondingColumnEdit.unique ?? col.unique, - // todo booleans - defaultValue: correspondingColumnEdit.defaultValue ?? col.defaultValue - }; - }) - } - }; - }); - - const tableEdits: { rename_table: OpRenameTable }[] = this.tableEdits.map(({ name, newName }) => { - return { - rename_table: { - type: 'rename_table', - from: name, - to: newName - } - }; - }); - - const columnEdits: { alter_column: OpAlterColumn }[] = this.columnEdits.map(({ originalName, tableName, name }) => { - const edit: { alter_column: OpAlterColumn } = { - alter_column: { - column: originalName, - table: tableName, - nullable: false, - name: originalName !== name ? name : undefined - } - }; - return edit; - }); - - const columnAdditions: { add_column: OpAddColumn }[] = this.columnAdditions.map( - ({ name, tableName, type, nullable, unique, defaultValue }) => { - return { - add_column: { - column: { - name, - type, - nullable, - unique, - defaultValue - }, - table: tableName - } - }; - } - ); - - this.currentMigration.operations.push( - ...columnDeletions, - ...tableDeletions, - ...tableAdditions, - ...columnAdditions, - ...columnEdits, - // todo table renames should go in a separate migration (?) - ...tableEdits - ); - }; } const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { @@ -687,3 +572,178 @@ const notEmptyString = (value: string) => { const createSpace = (): SelectChoice => { return { name: { type: 'space' }, message: ' ', role: 'heading' }; }; + +export const editsToMigrations = (command: EditSchema) => { + // Duplicating here because if we remove items from class state they dont show on UI + let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = + command.tableAdditions; + let localTableEdits: EditTablePayload['table'][] = command.tableEdits; + const localTableDeletions: DeleteTablePayload[] = command.tableDeletions; + let localColumnAdditions: AddColumnPayload['column'][] = command.columnAdditions; + let localColumnEdits: EditColumnPayload['column'][] = command.columnEdits; + let localColumnDeletions: DeleteColumnPayload = command.columnDeletions; + + console.log('column deletions before logic', localColumnDeletions); + + console.log('column additions before logic', localColumnAdditions); + const tmpColumnAddition = [...localColumnAdditions]; + localColumnAdditions = localColumnAdditions.filter( + (addition) => !localColumnDeletions[addition.tableName]?.includes(addition.originalName) + ); + localColumnEdits = localColumnEdits.filter( + (edit) => !localColumnDeletions[edit.tableName]?.includes(edit.originalName) + ); + localColumnDeletions = Object.fromEntries( + Object.entries(localColumnDeletions).filter( + (entry) => !tmpColumnAddition.find((addition) => addition.tableName === entry[0]) + ) + ); + + console.log('column deletions should be empty', localColumnDeletions); + console.log('column additions should be empty', localColumnAdditions); + + localTableAdditions = localTableAdditions.filter( + ({ name }) => !localTableDeletions.find(({ name: tableName }) => tableName === name) + ); + localTableEdits = localTableEdits.filter( + ({ name }) => !localTableDeletions.find(({ name: tableName }) => tableName === name) + ); + localColumnAdditions = localColumnAdditions.filter( + ({ tableName }) => !localTableDeletions.find(({ name }) => name === tableName) + ); + localColumnEdits = localColumnEdits.filter( + ({ tableName }) => !localTableDeletions.find(({ name }) => name === tableName) + ); + localColumnDeletions = Object.fromEntries( + Object.entries(localColumnDeletions).filter( + ([tableName]) => !localTableDeletions.find(({ name }) => name === tableName) + ) + ); + + const editsToNewTable = localTableEdits.filter(({ name }) => + localTableAdditions.find((addition) => addition.name === name) + ); + localTableEdits = localTableEdits.filter(({ name }) => !editsToNewTable.find((edit) => edit.name === name)); + localTableAdditions = localTableAdditions.map((addition) => { + const edit = editsToNewTable.find(({ name }) => name === addition.name); + if (edit) { + return { + name: edit.newName + }; + } + return addition; + }); + + // bundle edit columns into new columns + const editsToNewColumn = localColumnEdits.filter(({ originalName }) => + localColumnAdditions.find((addition) => addition.name === originalName) + ); + localColumnEdits = localColumnEdits.filter( + ({ originalName }) => !editsToNewColumn.find((edit) => edit.originalName === originalName) + ); + localColumnAdditions = localColumnAdditions.map((addition) => { + const edit = editsToNewColumn.find(({ originalName }) => originalName === addition.name); + if (edit) { + return { + ...addition, + name: edit.name + }; + } + return addition; + }); + + // bundle new columns into create_tables + const columnAdditionsToNewTables = localColumnAdditions.filter(({ tableName }) => + localTableAdditions.find(({ name }) => name === tableName) + ); + localColumnAdditions = localColumnAdditions.filter( + ({ tableName }) => !columnAdditionsToNewTables.find((addition) => addition.tableName === tableName) + ); + localTableAdditions = localTableAdditions.map((addition) => { + const columns = columnAdditionsToNewTables + .filter((column) => column.tableName === addition.name) + .map((column) => { + return { + name: column.name, + type: column.type, + nullable: column.nullable, + unique: column.unique, + defaultValue: column.defaultValue + } as AddColumnPayload['column']; + }); + return { + ...addition, + columns: columns + }; + }); + + const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) + .map((entry) => { + return entry[1].map((e) => { + return { + drop_column: { + column: e, + table: entry[0] + } + }; + }); + }) + .flat(); + + const tableDeletions: { drop_table: OpDropTable }[] = localTableDeletions.map(({ name }) => { + return { + drop_table: { + name: name + } + }; + }); + + const columnAdditions: { add_column: OpAddColumn }[] = localColumnAdditions.map( + ({ name, tableName, type, nullable, unique, defaultValue }) => { + return { + add_column: { + column: { + name, + type, + nullable, + unique, + defaultValue + }, + table: tableName + } + }; + } + ); + + const tableAdditions: { create_table: OpCreateTable }[] = localTableAdditions.map(({ name, columns }) => { + return { + create_table: { + name: name, + columns: columns as any + } + }; + }); + + const tableEdits: { rename_table: OpRenameTable }[] = localTableEdits.map(({ name, newName }) => { + return { + rename_table: { + from: name, + to: newName + } + }; + }); + + const columnEdits: { alter_column: OpAlterColumn }[] = localColumnEdits.map(({ originalName, tableName, name }) => { + const edit: { alter_column: OpAlterColumn } = { + alter_column: { + column: originalName, + table: tableName, + nullable: false, + name: originalName !== name ? name : undefined + } + }; + return edit; + }); + + return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; +}; From c4c29ba92851eeab8b0acded72ec97d0930d51c1 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 11:46:19 +0200 Subject: [PATCH 025/145] clean --- cli/src/commands/schema/edit.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 0630eb27f..10e158bd7 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -290,7 +290,7 @@ export default class EditSchema extends BaseCommand { tableNameField = { name: 'name', message: 'The table name', - validate(value: string, state: unknown, item: unknown, index: number) { + validate(value: string) { // TODO make sure no other tables have this name return notEmptyString(value); } @@ -583,9 +583,6 @@ export const editsToMigrations = (command: EditSchema) => { let localColumnEdits: EditColumnPayload['column'][] = command.columnEdits; let localColumnDeletions: DeleteColumnPayload = command.columnDeletions; - console.log('column deletions before logic', localColumnDeletions); - - console.log('column additions before logic', localColumnAdditions); const tmpColumnAddition = [...localColumnAdditions]; localColumnAdditions = localColumnAdditions.filter( (addition) => !localColumnDeletions[addition.tableName]?.includes(addition.originalName) @@ -599,9 +596,6 @@ export const editsToMigrations = (command: EditSchema) => { ) ); - console.log('column deletions should be empty', localColumnDeletions); - console.log('column additions should be empty', localColumnAdditions); - localTableAdditions = localTableAdditions.filter( ({ name }) => !localTableDeletions.find(({ name: tableName }) => tableName === name) ); From 3b4144f052de239e585ff6b70fa1909d9cb31c27 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 12:12:11 +0200 Subject: [PATCH 026/145] send migration --- cli/src/commands/schema/dummySchema.ts | 364 ------------------------- cli/src/commands/schema/edit.test.ts | 4 + cli/src/commands/schema/edit.ts | 84 +++++- 3 files changed, 82 insertions(+), 370 deletions(-) delete mode 100644 cli/src/commands/schema/dummySchema.ts diff --git a/cli/src/commands/schema/dummySchema.ts b/cli/src/commands/schema/dummySchema.ts deleted file mode 100644 index b8ccad0be..000000000 --- a/cli/src/commands/schema/dummySchema.ts +++ /dev/null @@ -1,364 +0,0 @@ - -export const dummySchema = { - "branchName": "main", - "createdAt": "2024-04-02T06:40:39.989Z", - "databaseName": "csv", - "id": "bb_fipug7tus17st2pgt6l07q3bn8_o2i56v", - "lastMigrationID": "", - "version": 1, - "metadata": {}, - "schema": { - "tables": [ - { - "name": "44", - "xataCompatible": true, - "checkConstraints": { - "44_xata_id_length_xata_id": { - "name": "44_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - }, - "44_xata_string_length_stringggrenamed": { - "name": "44_xata_string_length_stringggrenamed", - "columns": [ - "emm" - ], - "definition": "CHECK ((length(emm) <= 2048))" - }, - "44_xata_string_length_test": { - "name": "44_xata_string_length_test", - "columns": [ - "test" - ], - "definition": "CHECK ((length(test) <= 2048))" - } - }, - "foreignKeys": { - "fk_image": { - "name": "fk_image", - "columns": [ - "symbol" - ], - "referencedTable": "emily", - "referencedColumns": [ - "xata_id" - ], - "onDelete": "NO ACTION" - }, - "fk_tag": { - "name": "fk_tag", - "columns": [ - "test" - ], - "referencedTable": "emily", - "referencedColumns": [ - "xata_id" - ], - "onDelete": "NO ACTION" - } - }, - "primaryKey": [], - "uniqueConstraints": { - "44_stringggrenamed_unique": { - "name": "44_stringggrenamed_unique", - "columns": [ - "emm" - ] - }, - "_pgroll_new_44_xata_id_key": { - "name": "_pgroll_new_44_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4563954", - "columns": [ - { - "name": "emm", - "type": "text", - "pgType": "text", - "notNull": false, - "unique": true, - "defaultValue": null - }, - { - "name": "percentageeee", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "price", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbol", - "type": "link", - "link": { - "table": "emily" - }, - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "test", - "type": "link", - "link": { - "table": "emily" - }, - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - { - "name": "678", - "xataCompatible": true, - "checkConstraints": { - "678_xata_id_length_xata_id": { - "name": "678_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - } - }, - "foreignKeys": {}, - "primaryKey": [], - "uniqueConstraints": { - "678_percentageee_unique": { - "name": "678_percentageee_unique", - "columns": [ - "percentageee" - ] - }, - "_pgroll_new_678_xata_id_key": { - "name": "_pgroll_new_678_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4564039", - "columns": [ - { - "name": "percentageee", - "type": "float", - "pgType": "double precision", - "notNull": true, - "unique": true, - "defaultValue": null - }, - { - "name": "pricer", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbolll", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - { - "name": "emily", - "xataCompatible": true, - "checkConstraints": { - "678_xata_id_length_xata_id": { - "name": "678_xata_id_length_xata_id", - "columns": [ - "xata_id" - ], - "definition": "CHECK ((length(xata_id) < 256))" - } - }, - "foreignKeys": {}, - "primaryKey": [], - "uniqueConstraints": { - "678_percentageee_unique": { - "name": "678_percentageee_unique", - "columns": [ - "percentageee" - ] - }, - "_pgroll_new_678_xata_id_key": { - "name": "_pgroll_new_678_xata_id_key", - "columns": [ - "xata_id" - ] - } - }, - "comment": "", - "oid": "4564039", - "columns": [ - { - "name": "percentageee", - "type": "float", - "pgType": "double precision", - "notNull": true, - "unique": true, - "defaultValue": null - }, - { - "name": "pricer", - "type": "float", - "pgType": "double precision", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "symbolll", - "type": "string", - "pgType": "text", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "timestamp", - "type": "datetime", - "pgType": "timestamptz", - "notNull": false, - "unique": false, - "defaultValue": null - }, - { - "name": "xata_createdat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_id", - "type": "text", - "pgType": "text", - "notNull": true, - "unique": true, - "defaultValue": "('rec_'::text || (xata_private.xid())::text)" - }, - { - "name": "xata_updatedat", - "type": "datetime", - "pgType": "timestamptz", - "notNull": true, - "unique": false, - "defaultValue": "now()" - }, - { - "name": "xata_version", - "type": "int", - "pgType": "integer", - "notNull": true, - "unique": false, - "defaultValue": "0" - } - ] - }, - ] - } - } \ No newline at end of file diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 23b257544..43d0f92b8 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -53,6 +53,8 @@ describe('edits to migrations', () => { }); test('add column', () => { + // todo correct this + // add different types of edits editCommand.columnAdditions.push({ name: 'col1', nullable: false, @@ -78,6 +80,8 @@ describe('edits to migrations', () => { }); test('edit column', () => { + // todo correct this + // add different types of payloads editCommand.columnEdits.push({ name: 'col2', nullable: false, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 10e158bd7..d60a78ea0 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,6 +1,6 @@ import { BaseCommand } from '../../base.js'; import { Flags } from '@oclif/core'; -import { Schemas } from '@xata.io/client'; +import { Schemas, XataApiClient } from '@xata.io/client'; import { OpAddColumn, OpAlterColumn, @@ -13,7 +13,6 @@ import { } from '@xata.io/pgroll'; import chalk from 'chalk'; import enquirer from 'enquirer'; -import { dummySchema } from './dummySchema.js'; import { AddColumnPayload, AddTablePayload, @@ -23,6 +22,7 @@ import { EditTablePayload, SelectChoice } from './types.js'; +import { getBranchDetailsWithPgRoll } from '../../migrations/pgroll.js'; const { Select, Snippet, Confirm } = enquirer as any; @@ -68,7 +68,7 @@ export default class EditSchema extends BaseCommand { }; const tablesToLoop = [ - ...dummySchema.schema.tables, + ...this.branchDetails!.schema.tables, ...this.tableAdditions.map((addition) => ({ name: addition.name, columns: [] @@ -87,8 +87,8 @@ export default class EditSchema extends BaseCommand { .map((column) => { const col: EditColumnPayload['column'] = { name: column.name, - unique: column.unique, - nullable: column.notNull, + unique: column.unique ?? false, + nullable: column.notNull ?? true, tableName: table.name, originalName: column.name, defaultValue: column.defaultValue ?? undefined, @@ -223,6 +223,26 @@ export default class EditSchema extends BaseCommand { await this.showSchemaEdit(); return; } + const xata = await this.getXataClient(); + const submitMigrationRessponse = await xata.api.migrations.applyMigration({ + pathParams: { + workspace: this.workspace, + region: this.region, + dbBranchName: `${this.database}:${this.branch}` + }, + body: this.currentMigration + }); + + await waitForMigrationToFinish( + xata.api, + this.workspace, + this.region, + this.database, + this.branch, + submitMigrationRessponse.jobID + ); + + this.success('Migration completed!'); } catch (err) { if (err) throw err; // User cancelled @@ -276,7 +296,36 @@ export default class EditSchema extends BaseCommand { } async run(): Promise { - await this.showSchemaEdit(); + const { flags } = await this.parseCommand(); + + if (flags.source) { + this.warn( + `This way of editing the schema doesn't detect renames of tables or columns. They are interpreted as deleting/adding tables and columns. +Beware that this can lead to ${chalk.bold( + 'data loss' + )}. Other ways of editing the schema that do not have this limitation are: +* run the command without ${chalk.bold('--source')} +* edit the schema in the Web UI. Use ${chalk.bold('xata browse')} to open the Web UI in your browser.` + ); + this.log(); + } + + const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch(flags.db, flags.branch); + this.workspace = workspace; + this.region = region; + this.database = database; + this.branch = branch; + + const xata = await this.getXataClient(); + const branchDetails = await getBranchDetailsWithPgRoll(xata, { workspace, region, database, branch }); + if (!branchDetails) this.error('Could not get the schema from the current branch'); + + if (flags.source) { + // todo implement editor + } else { + this.branchDetails = branchDetails; + await this.showSchemaEdit(); + } } clear() { @@ -741,3 +790,26 @@ export const editsToMigrations = (command: EditSchema) => { return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +): Promise { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 34038c35cff41efe4a65d0ef5c18128cdc36a4d5 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 15:19:46 +0200 Subject: [PATCH 027/145] wip - edit column and add column --- cli/src/commands/schema/edit.test.ts | 4 +- cli/src/commands/schema/edit.ts | 221 ++++++++++++++++++--------- cli/src/commands/schema/types.ts | 8 +- 3 files changed, 159 insertions(+), 74 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 43d0f92b8..5e4f66da7 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -97,7 +97,9 @@ describe('edits to migrations', () => { name: 'col2', column: 'col1', nullable: false, - table: 'table1' + table: 'table1', + // Todo fix this. alter_column should not be boolean + unique: false } } ]); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index d60a78ea0..a2de58a50 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -26,6 +26,10 @@ import { getBranchDetailsWithPgRoll } from '../../migrations/pgroll.js'; const { Select, Snippet, Confirm } = enquirer as any; +const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; +const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; +const notNullUnsupportedTypes = defaultValueUnsupportedTypes; + export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -83,18 +87,18 @@ export default class EditSchema extends BaseCommand { }); const columns = Object.values(table.columns); const choices: SelectChoice[] = columns - .filter(({ name }) => !name.toLowerCase().startsWith('xata_')) + .filter(({ name }) => !isReservedXataFieldName(name)) .map((column) => { const col: EditColumnPayload['column'] = { name: column.name, unique: column.unique ?? false, + type: column.type, nullable: column.notNull ?? true, tableName: table.name, originalName: column.name, defaultValue: column.defaultValue ?? undefined, - type: column.type, - // @ts-expect-error todo remove - link: column.type === 'link' ? { table: column.link?.table } : undefined + vectorDimension: column.vector ? column.vector.dimension : undefined, + link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined }; const item: SelectChoice = { name: { @@ -345,6 +349,13 @@ Beware that this can lead to ${chalk.bold( } }; + noExistingColumnName = (value: string, column: AddColumnPayload['column']) => { + return !this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || + !this.columnAdditions.find(({ name, tableName }) => tableName === column.tableName && name === value) + ? true + : 'Column name conflicts with another one in the same table'; + }; + async toggleTableDelete({ initialTableName }: { initialTableName: string }) { const existingEntry = this.tableDeletions.find(({ name }) => name === initialTableName); if (existingEntry) { @@ -376,16 +387,16 @@ Beware that this can lead to ${chalk.bold( } async showColumnEdit(column: EditColumnPayload['column']) { + const uniqueObject = column.unique ? { name: `unique_constraint_${column.originalName}` } : undefined; const alterColumnDefaultValues: { alter_column: OpAlterColumn } = { alter_column: { + name: column.name, column: column.originalName, - // todo replace with real value table: column.tableName, - nullable: column.nullable, - unique: { name: '' }, - down: '', - name: '', - up: '' + nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : undefined, + unique: !uniqueUnsupportedTypes.includes(column.type) ? (column.unique ? uniqueObject : undefined) : undefined + // TODO support default https://github.com/xataio/pgroll/issues/327 + // TODO support changing type https://github.com/xataio/pgroll/issues/328 } }; this.clear(); @@ -393,19 +404,13 @@ Beware that this can lead to ${chalk.bold( { alter_column: { name: \${name}, - nullable: \${nullable}, - unique: {name: \${unique}}, + column: ${column.originalName}, + ${!notNullUnsupportedTypes.includes(column.type) ? `nullable: \${nullable},` : ''} + ${!uniqueUnsupportedTypes.includes(column.type) ? `unique: \${unique},` : ''} } } }`; - const noExistingColumnName = (value: string) => { - // Todo make sure non edited names to conflict - return !this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) - ? true - : 'Name already exists'; - }; - const snippet = new Snippet({ message: 'Edit a column', initial: alterColumnDefaultValues, @@ -415,8 +420,8 @@ Beware that this can lead to ${chalk.bold( message: alterColumnDefaultValues.alter_column.column, initial: alterColumnDefaultValues.alter_column.column, validate: (value: string) => { - // Todo field does not start with xata_ - return notEmptyString(value) && noExistingColumnName(value); + if (column.originalName === value) return true; + return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); } }, { @@ -424,43 +429,55 @@ Beware that this can lead to ${chalk.bold( message: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', initial: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value); + return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; } }, { name: 'unique', - message: alterColumnDefaultValues.alter_column.unique ? 'true' : 'false', - initial: alterColumnDefaultValues.alter_column.unique ? 'true' : 'false', + message: alterColumnDefaultValues.alter_column.unique ? JSON.stringify(uniqueObject) : 'undefined', + initial: alterColumnDefaultValues.alter_column.unique ? JSON.stringify(uniqueObject) : 'undefined', validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value); + if (value === 'undefined') return true; + const errorMessage = + 'Invalid value. Unique field must be in the form of { "name": "unique_name_for_constraint" }'; + try { + const v = JSON.parse(value); + if (v && v.name) { + return true; + } + throw errorMessage; + } catch (e) { + return errorMessage; + } } } ], footer: this.footer, template }); + try { const { values } = await snippet.run(); const existingEntry = this.columnEdits.find( ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName ); + console.log('VALUES UNIQUE', values); if (existingEntry) { + // todo only add to edits if it changed from original existingEntry.name = values.name; - existingEntry.nullable = values.notNull; - existingEntry.unique = values.unique; + (existingEntry.nullable = values.notNull === undefined || values.notNull === false ? true : false), + (existingEntry.unique = values.unique); } else { - // TODO default value and type - if (values.name !== column.originalName) { - this.columnEdits.push({ - name: values.name, - defaultValue: column.defaultValue, - type: column.type, - nullable: values.notNull, - unique: values.unique, - originalName: column.originalName, - tableName: column.tableName - }); - } + this.columnEdits.push({ + // todo only add to edits if it changed from original + name: values.name, + defaultValue: column.defaultValue, + type: column.type, + nullable: values.notNull === undefined || values.notNull === false ? true : false, + unique: values.unique, + originalName: column.originalName, + tableName: column.tableName + }); } await this.showSchemaEdit(); } catch (err) { @@ -476,46 +493,80 @@ Beware that this can lead to ${chalk.bold( column: AddColumnPayload['column']; }) { this.clear(); + + const addColumnDefault: { add_column: OpAddColumn } = { + add_column: { + column: { + name: column.originalName, + nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : undefined, + unique: !uniqueUnsupportedTypes.includes(column.type) ? false : undefined, + type: column.type, + default: defaultValueUnsupportedTypes.includes(column.type) ? column.defaultValue : undefined + }, + table: column.tableName + + // TODO support default https://github.com/xataio/pgroll/issues/327 + // TODO support changing type https://github.com/xataio/pgroll/issues/328 + } + }; + + // TODO add reference if link is chosen as type const template = ` { add_column: { - name: \${name}, - nullable: \${nullable}, - unique: {name: \${unique}}, + column: { + name: \${name}, + nullable: \${nullable}, + unique: \${unique}, + type: \${type}, + defaultValue: \${defaultValue} + }, + table: ${tableName} } } }`; - const noExistingColumnName = (value: string) => { - // Todo make sure non edited names to conflict - return !this.columnEdits.find(({ name, tableName }) => tableName === tableName && name === value) - ? true - : 'Name already exists'; - }; - const snippet = new Snippet({ - message: 'Edit a column', + message: 'Add a column', fields: [ { name: 'name', - message: '', + message: addColumnDefault.add_column.column.name, + initial: addColumnDefault.add_column.column.name, validate: (value: string) => { - // Todo field does not start with xata_ - return notEmptyString(value) && noExistingColumnName(value); + if (column.originalName === value) return true; + return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); } }, { name: 'nullable', - message: 'false', + message: addColumnDefault.add_column.column.nullable ? 'false' : 'true', + initial: addColumnDefault.add_column.column.nullable ? 'false' : 'true', validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value); + // todo check if the type supports nullable otherwise return error + return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; } }, { name: 'unique', - message: 'false', + message: addColumnDefault.add_column.column.unique ? 'false' : 'true', + initial: addColumnDefault.add_column.column.unique ? 'false' : 'true', + validate: (value: string) => { + // todo check if the type supports unique otherwise return error + return value !== 'false' && value !== 'true' ? 'Invalid value. Unique field must be a boolean' : true; + } + }, + { + name: 'default', + message: addColumnDefault.add_column.column.default + ? addColumnDefault.add_column.column.default + : 'undefined', + initial: addColumnDefault.add_column.column.default + ? addColumnDefault.add_column.column.default + : 'undefined', validate: (value: string) => { - return notEmptyString(value) && noExistingColumnName(value); + // todo check if the type supports default otherwise return error + return true; } } ], @@ -529,7 +580,7 @@ Beware that this can lead to ${chalk.bold( name: values.name, defaultValue: values.defaultValue, type: values.type, - nullable: values.notNull, + nullable: values.notNull === undefined || values.notNull === false ? true : false, unique: values.unique, tableName, originalName: values.name @@ -550,7 +601,6 @@ Beware that this can lead to ${chalk.bold( template: ` Name: \${name} ` - // TODO validate name }); try { @@ -695,6 +745,27 @@ export const editsToMigrations = (command: EditSchema) => { return addition; }); + // todo edit column additions + // add_column: { + // table, + // up: requiresUpArgument(notNull, defaultValue) + // ? xataColumnTypeToZeroValue(column.type, defaultValue) + // : undefined, + // column: { + // name: column.name, + // type: xataColumnTypeToPgRoll(column.type), + // references: + // column.type === 'link' + // ? generateLinkReference({ column: column.name, table: linkTable, onDelete: linkOnDelete }) + // : undefined, + // default: defaultValue !== null && defaultValue !== undefined ? `'${defaultValue}'` : undefined, + // nullable: !notNull, + // unique: unique, + // check: xataColumnTypeToPgRollConstraint(column, table), + // comment: xataColumnTypeToPgRollComment(column) + // } + // } + // bundle new columns into create_tables const columnAdditionsToNewTables = localColumnAdditions.filter(({ tableName }) => localTableAdditions.find(({ name }) => name === tableName) @@ -749,7 +820,7 @@ export const editsToMigrations = (command: EditSchema) => { name, type, nullable, - unique, + unique: unique as boolean, defaultValue }, table: tableName @@ -776,17 +847,21 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const columnEdits: { alter_column: OpAlterColumn }[] = localColumnEdits.map(({ originalName, tableName, name }) => { - const edit: { alter_column: OpAlterColumn } = { - alter_column: { - column: originalName, - table: tableName, - nullable: false, - name: originalName !== name ? name : undefined - } - }; - return edit; - }); + const columnEdits: { alter_column: OpAlterColumn }[] = localColumnEdits.map( + ({ originalName, tableName, name, nullable, unique }) => { + const edit: { alter_column: OpAlterColumn } = { + alter_column: { + column: originalName, + table: tableName, + nullable, + unique: unique as { name: string }, + name + // TODO populate up and down + } + }; + return edit; + } + ); return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; @@ -813,3 +888,7 @@ async function waitForMigrationToFinish( await new Promise((resolve) => setTimeout(resolve, 1000)); return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); } + +const isReservedXataFieldName = (name: string) => { + return name.toLowerCase().startsWith('xata_'); +}; diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 0361a9c24..d23e58bc9 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -1,10 +1,14 @@ type ColumnData = { name: string; type: string; - unique: boolean; + unique?: + | boolean + | { + name: string; + }; nullable: boolean; defaultValue?: string; - vectorDimension?: string; + vectorDimension?: number; originalName: string; tableName: string; link?: { From d8dfa507d8d3d169878c4a995cf7200d90c79a3c Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 16:30:41 +0200 Subject: [PATCH 028/145] wip - column additions --- cli/src/commands/schema/edit.test.ts | 38 ++++-- cli/src/commands/schema/edit.ts | 110 ++++++++-------- cli/src/migrations/pgroll.ts | 181 +++++++++++++++++++++++++++ 3 files changed, 265 insertions(+), 64 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 5e4f66da7..7302c7d96 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -53,8 +53,7 @@ describe('edits to migrations', () => { }); test('add column', () => { - // todo correct this - // add different types of edits + // todo some more types of additions editCommand.columnAdditions.push({ name: 'col1', nullable: false, @@ -70,9 +69,17 @@ describe('edits to migrations', () => { table: 'table1', column: { name: 'col1', - type: 'string', + type: 'text', nullable: false, - unique: false + unique: false, + check: { + constraint: 'LENGTH("col1") <= 2048', + name: 'table1_xata_string_length_col1' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined } } } @@ -304,9 +311,17 @@ describe('edits to migrations', () => { table: 'table1', column: { name: 'col2', - type: 'string', + type: 'text', nullable: false, - unique: false + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined } } } @@ -370,9 +385,16 @@ describe('edits to migrations', () => { columns: [ { name: 'col2', - type: 'string', + type: 'text', nullable: false, - unique: false + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined } ] } diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index a2de58a50..4ac74e21d 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -22,7 +22,15 @@ import { EditTablePayload, SelectChoice } from './types.js'; -import { getBranchDetailsWithPgRoll } from '../../migrations/pgroll.js'; +import { + generateLinkReference, + getBranchDetailsWithPgRoll, + requiresUpArgument, + xataColumnTypeToPgRoll, + xataColumnTypeToPgRollComment, + xataColumnTypeToPgRollConstraint, + xataColumnTypeToZeroValue +} from '../../migrations/pgroll.js'; const { Select, Snippet, Confirm } = enquirer as any; @@ -461,7 +469,6 @@ Beware that this can lead to ${chalk.bold( const existingEntry = this.columnEdits.find( ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName ); - console.log('VALUES UNIQUE', values); if (existingEntry) { // todo only add to edits if it changed from original existingEntry.name = values.name; @@ -520,6 +527,7 @@ Beware that this can lead to ${chalk.bold( unique: \${unique}, type: \${type}, defaultValue: \${defaultValue} + link: \${link} }, table: ${tableName} } @@ -538,6 +546,8 @@ Beware that this can lead to ${chalk.bold( return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); } }, + // todo add type + // todo add link { name: 'nullable', message: addColumnDefault.add_column.column.nullable ? 'false' : 'true', @@ -695,22 +705,17 @@ export const editsToMigrations = (command: EditSchema) => { ) ); - localTableAdditions = localTableAdditions.filter( - ({ name }) => !localTableDeletions.find(({ name: tableName }) => tableName === name) - ); - localTableEdits = localTableEdits.filter( - ({ name }) => !localTableDeletions.find(({ name: tableName }) => tableName === name) - ); - localColumnAdditions = localColumnAdditions.filter( - ({ tableName }) => !localTableDeletions.find(({ name }) => name === tableName) - ); - localColumnEdits = localColumnEdits.filter( - ({ tableName }) => !localTableDeletions.find(({ name }) => name === tableName) - ); + const isTableDeleted = (name: string) => { + return localTableDeletions.find(({ name: tableName }) => tableName === name); + }; + + localTableAdditions = localTableAdditions.filter(({ name }) => !isTableDeleted(name)); + localTableEdits = localTableEdits.filter(({ name }) => !isTableDeleted(name)); + localColumnAdditions = localColumnAdditions.filter(({ tableName }) => !isTableDeleted(tableName)); + + localColumnEdits = localColumnEdits.filter(({ tableName }) => !isTableDeleted(tableName)); localColumnDeletions = Object.fromEntries( - Object.entries(localColumnDeletions).filter( - ([tableName]) => !localTableDeletions.find(({ name }) => name === tableName) - ) + Object.entries(localColumnDeletions).filter(([tableName]) => !isTableDeleted(tableName)) ); const editsToNewTable = localTableEdits.filter(({ name }) => @@ -739,33 +744,13 @@ export const editsToMigrations = (command: EditSchema) => { if (edit) { return { ...addition, + tableName: edit.tableName, name: edit.name }; } return addition; }); - // todo edit column additions - // add_column: { - // table, - // up: requiresUpArgument(notNull, defaultValue) - // ? xataColumnTypeToZeroValue(column.type, defaultValue) - // : undefined, - // column: { - // name: column.name, - // type: xataColumnTypeToPgRoll(column.type), - // references: - // column.type === 'link' - // ? generateLinkReference({ column: column.name, table: linkTable, onDelete: linkOnDelete }) - // : undefined, - // default: defaultValue !== null && defaultValue !== undefined ? `'${defaultValue}'` : undefined, - // nullable: !notNull, - // unique: unique, - // check: xataColumnTypeToPgRollConstraint(column, table), - // comment: xataColumnTypeToPgRollComment(column) - // } - // } - // bundle new columns into create_tables const columnAdditionsToNewTables = localColumnAdditions.filter(({ tableName }) => localTableAdditions.find(({ name }) => name === tableName) @@ -777,13 +762,7 @@ export const editsToMigrations = (command: EditSchema) => { const columns = columnAdditionsToNewTables .filter((column) => column.tableName === addition.name) .map((column) => { - return { - name: column.name, - type: column.type, - nullable: column.nullable, - unique: column.unique, - defaultValue: column.defaultValue - } as AddColumnPayload['column']; + return column as AddColumnPayload['column']; }); return { ...addition, @@ -791,6 +770,28 @@ export const editsToMigrations = (command: EditSchema) => { }; }); + const augmentColumns = ( + columns: AddColumnPayload['column'][] + ): { column: OpAddColumn['column']; tableName: string }[] => { + return columns.map((column) => ({ + tableName: column.tableName, + column: { + name: column.name, + type: xataColumnTypeToPgRoll(column.type as any), + references: + column.type === 'link' + ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) + : undefined, + default: + column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, + nullable: column.nullable, + unique: column.unique as boolean, + check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), + comment: xataColumnTypeToPgRollComment(column as any) + } + })); + }; + const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { return entry[1].map((e) => { @@ -812,18 +813,15 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const columnAdditions: { add_column: OpAddColumn }[] = localColumnAdditions.map( - ({ name, tableName, type, nullable, unique, defaultValue }) => { + const columnAdditions: { add_column: OpAddColumn }[] = augmentColumns(localColumnAdditions).map( + ({ column, tableName }) => { return { add_column: { - column: { - name, - type, - nullable, - unique: unique as boolean, - defaultValue - }, - table: tableName + column, + table: tableName, + up: requiresUpArgument(!!column.nullable, column.default) + ? xataColumnTypeToZeroValue(column.type as any, column.default) + : undefined } }; } @@ -833,7 +831,7 @@ export const editsToMigrations = (command: EditSchema) => { return { create_table: { name: name, - columns: columns as any + columns: augmentColumns(columns ?? []).map(({ column }) => column) } }; }); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..ee8f816aa 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -4,6 +4,7 @@ import path from 'path'; import { safeJSONParse, safeReadFile } from '../utils/files.js'; import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { Column } from '@xata.io/codegen'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +122,183 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export const isColumnTypeUnsupported = (type: string) => { + switch (type) { + case 'bool': + case 'int': + case 'float': + case 'datetime': + case 'multiple': + case 'json': + case 'file': + case 'file[]': + case 'text': + case 'link': + case 'string': + case 'email': + case 'vector': + return false; + default: + return true; + } +}; + +export function xataColumnTypeToPgRoll(type: Column['type']): string { + if (isColumnTypeUnsupported(type)) return type; + switch (type) { + case 'bool': + return 'boolean'; + case 'int': + return 'bigint'; + case 'float': + return 'double precision'; + case 'datetime': + return 'timestamptz'; + case 'multiple': + return 'text[]'; + case 'json': + return 'jsonb'; + case 'file': + return 'xata.xata_file'; + case 'file[]': + return 'xata.xata_file_array'; + case 'text': + case 'string': + case 'email': + case 'link': + return 'text'; + case 'vector': + return 'real[]'; + default: + return exhaustiveCheck(type); + } +} + +export const exhaustiveCheck = (x: never): never => { + throw new Error(`Unhandled discriminated union member: ${x}`); +}; + +export const generateLinkReference = ({ + column, + table, + onDelete: on_delete = 'SET NULL' +}: { + column: string; + table: string; + onDelete?: string; +}) => { + return { + name: `${column}_link`, + table, + column: 'xata_id', + on_delete + }; +}; + +export const xataColumnTypeToPgRollConstraintName = ( + tableName: string, + columnName: string, + columnType: Column['type'] +) => { + return `${tableName}_xata_${columnType}_length_${columnName}`; +}; + +export const xataColumnTypeToPgRollConstraint = (column: Column, table: string) => { + const getConstraint = () => { + console.log('column type.....', table); + if (isColumnTypeUnsupported(column.type)) return undefined; + switch (column.type) { + case 'vector': + return `ARRAY_LENGTH("${column.name}", 1) = ${column.vector?.dimension}`; + case 'string': + case 'email': + return `LENGTH("${column.name}") <= 2048`; + case 'text': + return `OCTET_LENGTH("${column.name}") <= 204800`; + case 'multiple': + return `OCTET_LENGTH(ARRAY_TO_STRING("${column.name}", '')) < 65536`; + case 'link': + case 'bool': + case 'datetime': + case 'file': + case 'file[]': + case 'float': + case 'int': + case 'json': + return undefined; + default: + return exhaustiveCheck(column.type); + } + }; + + const constraint = getConstraint(); + return constraint + ? { + name: xataColumnTypeToPgRollConstraintName(table, column.name, column.type), + constraint + } + : undefined; +}; + +export const xataColumnTypeToPgRollComment = (column: Column) => { + const getType = () => { + switch (column.type) { + case 'vector': + return { 'xata.search.dimension': column.vector?.dimension }; + case 'link': + return { 'xata.link': column.link?.table }; + case 'string': + case 'text': + case 'email': + return { 'xata.type': column.type }; + case 'file': + return { 'xata.file.dpa': column.file?.defaultPublicAccess ?? false }; + case 'file[]': + return { 'xata.file.dpa': column['file[]']?.defaultPublicAccess ?? false }; + case 'float': + case 'int': + case 'json': + case 'multiple': + case 'bool': + case 'datetime': + return undefined; + default: + return exhaustiveCheck(column.type); + } + }; + + const result = getType(); + return result !== undefined ? JSON.stringify(result) : undefined; +}; + +export const requiresUpArgument = (notNull: Column['notNull'], defaultValue: unknown) => + notNull && (defaultValue === null || defaultValue === undefined); + +export function xataColumnTypeToZeroValue(type: Column['type'], defaultValue: unknown): string { + if (defaultValue !== undefined && defaultValue !== null) return `${defaultValue}`; + if (isColumnTypeUnsupported(type)) return "''"; + switch (type) { + case 'bool': + return 'false'; + case 'int': + case 'float': + return '0'; + case 'datetime': + return 'now()'; + case 'link': + return 'null'; + case 'email': + case 'text': + case 'string': + return "''"; + case 'vector': + case 'multiple': + case 'json': + case 'file': + case 'file[]': + return "'{}'"; + default: + return exhaustiveCheck(type); + } +} From 2221e038fb014860534c44d229333fdc5fb47a02 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Apr 2024 16:33:53 +0200 Subject: [PATCH 029/145] fix todo --- cli/src/commands/schema/edit.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 4ac74e21d..ac2c6d8e0 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -23,6 +23,7 @@ import { SelectChoice } from './types.js'; import { + exhaustiveCheck, generateLinkReference, getBranchDetailsWithPgRoll, requiresUpArgument, @@ -212,7 +213,10 @@ export default class EditSchema extends BaseCommand { await this.showAddColumn(result); } else if (result.type === 'migrate') { await this.migrate(); - // todo exhaustive check + } else if (result.type === 'schema' || result.type === 'space') { + await this.showSchemaEdit(); + } else { + exhaustiveCheck(result.type); } } catch (error) { if (error) throw error; @@ -261,7 +265,6 @@ export default class EditSchema extends BaseCommand { await this.showSchemaEdit(); return; } - // TODO run migration } else { this.logJson(this.currentMigration); this.toErrorJson('Migration is invalid:' + valid.error.errors.flatMap((e) => e.message).join('\n')); From 3a3c72d95b6b18da1e3e25374ef8d735ce5120ec Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 08:55:24 +0200 Subject: [PATCH 030/145] add links --- cli/src/commands/schema/edit.test.ts | 325 ++++++++++++++++++--------- cli/src/commands/schema/edit.ts | 72 ++++-- cli/src/commands/schema/types.ts | 2 +- cli/src/migrations/pgroll.ts | 17 ++ 4 files changed, 283 insertions(+), 133 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 7302c7d96..bc8cf97f1 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -2,6 +2,7 @@ import { beforeEach, expect, test, describe } from 'vitest'; import { AddColumnPayload, AddTablePayload, + ColumnData, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -32,6 +33,17 @@ beforeEach(() => { editCommand.currentMigration = { operations: [] }; }); +const column: AddColumnPayload['column'] = { + name: 'col1', + defaultValue: undefined, + link: undefined, + type: 'string', + unique: false, + nullable: true, + originalName: 'col1', + tableName: 'table1' +}; + describe('edits to migrations', () => { describe('single edits to existing entities', () => { test('add table', () => { @@ -53,15 +65,7 @@ describe('edits to migrations', () => { }); test('add column', () => { - // todo some more types of additions - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ { @@ -70,15 +74,188 @@ describe('edits to migrations', () => { column: { name: 'col1', type: 'text', - nullable: false, + nullable: true, unique: false, check: { constraint: 'LENGTH("col1") <= 2048', name: 'table1_xata_string_length_col1' }, + up: undefined, comment: '{"xata.type":"string"}', default: undefined, + references: undefined + } + } + } + ]); + }); + test('add column default', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'int', + defaultValue: '10000' + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + default: "'10000'", + nullable: true, + unique: false + } + } + } + ]); + }); + test('add column not null', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'int', + nullable: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + up: '0', + nullable: false, + unique: false + } + } + } + ]); + }); + test('add column unique', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'int', + unique: true + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + up: undefined, + nullable: true, + unique: true + } + } + } + ]); + }); + test('add column file', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'file' + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + comment: '{"xata.file.dpa":false}', + type: 'xata.xata_file', references: undefined, + up: undefined, + nullable: true, + unique: false + } + } + } + ]); + }); + test('add column file[]', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'file[]' + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + comment: '{"xata.file.dpa":false}', + type: 'xata.xata_file_array', + references: undefined, + up: undefined, + nullable: true, + unique: false + } + } + } + ]); + }); + test('add column vector', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'vector' + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + check: { + constraint: 'ARRAY_LENGTH("col1", 1) = undefined', + name: 'table1_xata_vector_length_col1' + }, + type: 'real[]', + nullable: true, + unique: false, + comment: '{}', + references: undefined, + up: undefined, + default: undefined + } + } + } + ]); + }); + test('add link column', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'link', + link: { table: 'table2' } + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'text', + nullable: true, + unique: false, + comment: '{"xata.link":"table2"}', + references: { + column: 'xata_id', + name: 'col1_link', + on_delete: 'SET NULL', + table: 'table2' + }, + default: undefined, up: undefined } } @@ -90,12 +267,8 @@ describe('edits to migrations', () => { // todo correct this // add different types of payloads editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -103,10 +276,12 @@ describe('edits to migrations', () => { alter_column: { name: 'col2', column: 'col1', - nullable: false, + nullable: true, table: 'table1', // Todo fix this. alter_column should not be boolean - unique: false + unique: false, + down: '"col2"', + up: '"col2"' } } ]); @@ -135,12 +310,8 @@ describe('edits to migrations', () => { }); test('deleting an existing table deletes all column edits', () => { editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); @@ -153,14 +324,7 @@ describe('edits to migrations', () => { expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); }); test('deleting an existing table deletes all column additions', () => { - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); @@ -168,12 +332,8 @@ describe('edits to migrations', () => { test('deleting an existing column deletes all column edits', () => { editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); @@ -201,12 +361,8 @@ describe('edits to migrations', () => { }); test('deleting a new table deletes all column edits', () => { editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); @@ -227,14 +383,7 @@ describe('edits to migrations', () => { ]); }); test('deleting a new table deletes all column additions', () => { - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -267,42 +416,20 @@ describe('edits to migrations', () => { describe('existing tables with new columns', () => { test('deleting a new column deletes all column additions, edit and deletions', () => { - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([]); }); test('editing a new column in an existing table removes the column edit, and gets sent in add_column', () => { - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -312,7 +439,7 @@ describe('edits to migrations', () => { column: { name: 'col2', type: 'text', - nullable: false, + nullable: true, unique: false, check: { constraint: 'LENGTH("col2") <= 2048', @@ -332,21 +459,10 @@ describe('edits to migrations', () => { describe('new tables with new columns', () => { test('deleting a new column deletes all column additions, edits, and deletions', () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); @@ -361,21 +477,10 @@ describe('edits to migrations', () => { }); test('editing a new column in a new table removes the column edit', () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ - name: 'col1', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false - }); + editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ - name: 'col2', - nullable: false, - originalName: 'col1', - tableName: 'table1', - type: 'string', - unique: false + ...column, + name: 'col2' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -386,7 +491,7 @@ describe('edits to migrations', () => { { name: 'col2', type: 'text', - nullable: false, + nullable: true, unique: false, check: { constraint: 'LENGTH("col2") <= 2048', diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index ac2c6d8e0..a67cfe487 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -356,10 +356,17 @@ Beware that this can lead to ${chalk.bold( message: 'The table name', validate(value: string) { // TODO make sure no other tables have this name - return notEmptyString(value); + return notEmptyString(value) && !isReservedXataFieldName(value); //noExistingTableName(value) } }; + noExistingTableName = (value: string) => { + return !this.tableEdits.find(({ name }) => name === value) || + !this.tableAdditions.find(({ name }) => name === value) + ? true + : 'Table name conflicts with another one'; + }; + noExistingColumnName = (value: string, column: AddColumnPayload['column']) => { return !this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || !this.columnAdditions.find(({ name, tableName }) => tableName === column.tableName && name === value) @@ -508,8 +515,8 @@ Beware that this can lead to ${chalk.bold( add_column: { column: { name: column.originalName, - nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : undefined, - unique: !uniqueUnsupportedTypes.includes(column.type) ? false : undefined, + nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : true, + unique: !uniqueUnsupportedTypes.includes(column.type) ? false : false, type: column.type, default: defaultValueUnsupportedTypes.includes(column.type) ? column.defaultValue : undefined }, @@ -520,7 +527,8 @@ Beware that this can lead to ${chalk.bold( } }; - // TODO add reference if link is chosen as type + // TODO support vector dimension + // TODO support dpa for files const template = ` { add_column: { @@ -551,10 +559,28 @@ Beware that this can lead to ${chalk.bold( }, // todo add type // todo add link + { + name: 'type', + message: addColumnDefault.add_column.column.type, + initial: addColumnDefault.add_column.column.type, + validate: (value: string) => { + // todo check if the type is supported otherwise return error + return true; + } + }, + { + name: 'link', + message: 'Linked table. Only for columns that are links', + initial: undefined, + validate: (value: string) => { + // todo check if the table exists otherwise return error + return true; + } + }, { name: 'nullable', - message: addColumnDefault.add_column.column.nullable ? 'false' : 'true', - initial: addColumnDefault.add_column.column.nullable ? 'false' : 'true', + message: addColumnDefault.add_column.column.nullable, + initial: addColumnDefault.add_column.column.nullable, validate: (value: string) => { // todo check if the type supports nullable otherwise return error return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; @@ -562,8 +588,8 @@ Beware that this can lead to ${chalk.bold( }, { name: 'unique', - message: addColumnDefault.add_column.column.unique ? 'false' : 'true', - initial: addColumnDefault.add_column.column.unique ? 'false' : 'true', + message: addColumnDefault.add_column.column.unique, + initial: addColumnDefault.add_column.column.unique, validate: (value: string) => { // todo check if the type supports unique otherwise return error return value !== 'false' && value !== 'true' ? 'Invalid value. Unique field must be a boolean' : true; @@ -571,12 +597,8 @@ Beware that this can lead to ${chalk.bold( }, { name: 'default', - message: addColumnDefault.add_column.column.default - ? addColumnDefault.add_column.column.default - : 'undefined', - initial: addColumnDefault.add_column.column.default - ? addColumnDefault.add_column.column.default - : 'undefined', + message: addColumnDefault.add_column.column.default, + initial: addColumnDefault.add_column.column.default, validate: (value: string) => { // todo check if the type supports default otherwise return error return true; @@ -593,6 +615,7 @@ Beware that this can lead to ${chalk.bold( name: values.name, defaultValue: values.defaultValue, type: values.type, + link: values.link ? { table: values.link } : undefined, nullable: values.notNull === undefined || values.notNull === false ? true : false, unique: values.unique, tableName, @@ -790,7 +813,10 @@ export const editsToMigrations = (command: EditSchema) => { nullable: column.nullable, unique: column.unique as boolean, check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), - comment: xataColumnTypeToPgRollComment(column as any) + comment: xataColumnTypeToPgRollComment(column as any), + up: requiresUpArgument(column.nullable === false, column.defaultValue) + ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) + : undefined } })); }; @@ -821,10 +847,7 @@ export const editsToMigrations = (command: EditSchema) => { return { add_column: { column, - table: tableName, - up: requiresUpArgument(!!column.nullable, column.default) - ? xataColumnTypeToZeroValue(column.type as any, column.default) - : undefined + table: tableName } }; } @@ -849,15 +872,20 @@ export const editsToMigrations = (command: EditSchema) => { }); const columnEdits: { alter_column: OpAlterColumn }[] = localColumnEdits.map( - ({ originalName, tableName, name, nullable, unique }) => { + ({ originalName, tableName, name, nullable, unique, type, link }) => { const edit: { alter_column: OpAlterColumn } = { alter_column: { column: originalName, table: tableName, nullable, unique: unique as { name: string }, - name - // TODO populate up and down + name, + references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, + // if just a rename, no up and down required + // if a unique constraint change, below is required + // if notnull changes - notNullUpValue needs to be called + up: `"${name}"`, + down: `"${name}"` } }; return edit; diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index d23e58bc9..abb41514f 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -1,4 +1,4 @@ -type ColumnData = { +export type ColumnData = { name: string; type: string; unique?: diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index ee8f816aa..2ba298294 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -302,3 +302,20 @@ export function xataColumnTypeToZeroValue(type: Column['type'], defaultValue: un return exhaustiveCheck(type); } } + +export const notNullUpValue = (column: Column, notNull: boolean) => { + return { + up: notNull + ? `(SELECT CASE WHEN "${column.name}" IS NULL THEN ${xataColumnTypeToZeroValue( + column.type, + column.defaultValue + )} ELSE "${column.name}" END)` + : `"${column.name}"`, + down: notNull + ? `"${column.name}"` + : `(SELECT CASE WHEN "${column.name}" IS NULL THEN ${xataColumnTypeToZeroValue( + column.type, + column.defaultValue + )} ELSE "${column.name}" END)` + }; +}; From f224ec0931cb86fe0599e9747456ccdadef5cf50 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 10:24:08 +0200 Subject: [PATCH 031/145] improve add column logic --- cli/src/commands/schema/edit.test.ts | 22 +++-- cli/src/commands/schema/edit.ts | 117 +++++++++++++++------------ cli/src/commands/schema/types.ts | 10 ++- cli/src/migrations/pgroll.ts | 1 - 4 files changed, 88 insertions(+), 62 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index bc8cf97f1..d7845590a 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -2,7 +2,6 @@ import { beforeEach, expect, test, describe } from 'vitest'; import { AddColumnPayload, AddTablePayload, - ColumnData, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -161,7 +160,10 @@ describe('edits to migrations', () => { test('add column file', () => { editCommand.columnAdditions.push({ ...column, - type: 'file' + type: 'file', + file: { + defaultPublicAccess: false + } }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -184,7 +186,10 @@ describe('edits to migrations', () => { test('add column file[]', () => { editCommand.columnAdditions.push({ ...column, - type: 'file[]' + type: 'file[]', + 'file[]': { + defaultPublicAccess: true + } }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -193,7 +198,7 @@ describe('edits to migrations', () => { table: 'table1', column: { name: 'col1', - comment: '{"xata.file.dpa":false}', + comment: '{"xata.file.dpa":true}', type: 'xata.xata_file_array', references: undefined, up: undefined, @@ -207,7 +212,10 @@ describe('edits to migrations', () => { test('add column vector', () => { editCommand.columnAdditions.push({ ...column, - type: 'vector' + type: 'vector', + vector: { + dimension: 10 + } }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([ @@ -217,13 +225,13 @@ describe('edits to migrations', () => { column: { name: 'col1', check: { - constraint: 'ARRAY_LENGTH("col1", 1) = undefined', + constraint: 'ARRAY_LENGTH("col1", 1) = 10', name: 'table1_xata_vector_length_col1' }, type: 'real[]', nullable: true, unique: false, - comment: '{}', + comment: '{"xata.search.dimension":10}', references: undefined, up: undefined, default: undefined diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index a67cfe487..c8cdf8e4e 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -106,8 +106,10 @@ export default class EditSchema extends BaseCommand { tableName: table.name, originalName: column.name, defaultValue: column.defaultValue ?? undefined, - vectorDimension: column.vector ? column.vector.dimension : undefined, - link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined + vector: column.vector ? { dimension: column.vector.dimension } : undefined, + link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, + file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, + 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined }; const item: SelectChoice = { name: { @@ -283,7 +285,7 @@ export default class EditSchema extends BaseCommand { const metadata = [ `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, column.unique ? chalk.gray.italic('unique') : '', - column.nullable ? chalk.gray.italic('not null') : '', + !column.nullable ? chalk.gray.italic('not null') : '', column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' ] .filter(Boolean) @@ -510,25 +512,7 @@ Beware that this can lead to ${chalk.bold( column: AddColumnPayload['column']; }) { this.clear(); - - const addColumnDefault: { add_column: OpAddColumn } = { - add_column: { - column: { - name: column.originalName, - nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : true, - unique: !uniqueUnsupportedTypes.includes(column.type) ? false : false, - type: column.type, - default: defaultValueUnsupportedTypes.includes(column.type) ? column.defaultValue : undefined - }, - table: column.tableName - - // TODO support default https://github.com/xataio/pgroll/issues/327 - // TODO support changing type https://github.com/xataio/pgroll/issues/328 - } - }; - - // TODO support vector dimension - // TODO support dpa for files + // TODO conditionally show template fields const template = ` { add_column: { @@ -537,8 +521,10 @@ Beware that this can lead to ${chalk.bold( nullable: \${nullable}, unique: \${unique}, type: \${type}, - defaultValue: \${defaultValue} + default: \${default} link: \${link} + vectorDimension: \${vectorDimension} + defaultPublicAccess: \${defaultPublicAccess} }, table: ${tableName} } @@ -550,57 +536,72 @@ Beware that this can lead to ${chalk.bold( fields: [ { name: 'name', - message: addColumnDefault.add_column.column.name, - initial: addColumnDefault.add_column.column.name, + message: 'The name of the column', validate: (value: string) => { if (column.originalName === value) return true; return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); } }, - // todo add type - // todo add link { name: 'type', - message: addColumnDefault.add_column.column.type, - initial: addColumnDefault.add_column.column.type, + message: `The type of the column ${[ + 'string', + 'int', + 'float', + 'bool', + 'text', + 'multiple', + 'link', + 'email', + 'datetime', + 'vector', + 'json', + 'file', + 'file[]' + ]}`, validate: (value: string) => { - // todo check if the type is supported otherwise return error - return true; - } - }, - { - name: 'link', - message: 'Linked table. Only for columns that are links', - initial: undefined, - validate: (value: string) => { - // todo check if the table exists otherwise return error return true; } }, { name: 'nullable', - message: addColumnDefault.add_column.column.nullable, - initial: addColumnDefault.add_column.column.nullable, + message: 'Whether the column can be null', validate: (value: string) => { - // todo check if the type supports nullable otherwise return error return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; } }, { name: 'unique', - message: addColumnDefault.add_column.column.unique, - initial: addColumnDefault.add_column.column.unique, + message: 'Whether the column is unique', validate: (value: string) => { - // todo check if the type supports unique otherwise return error return value !== 'false' && value !== 'true' ? 'Invalid value. Unique field must be a boolean' : true; } }, { name: 'default', - message: addColumnDefault.add_column.column.default, - initial: addColumnDefault.add_column.column.default, + message: 'The default for the column', + validate: (value: string) => { + return true; + } + }, + { + name: 'link', + message: 'Linked table. Only required for columns that are links', + validate: (value: string) => { + return true; + } + }, + { + name: 'vectorDimension', + message: 'Vector dimension. Only required for vector columns', + validate: (value: string) => { + return true; + } + }, + { + name: 'defaultPublicAccess', + message: 'Default public access. Only required for file or file[] columns', validate: (value: string) => { - // todo check if the type supports default otherwise return error return true; } } @@ -612,15 +613,25 @@ Beware that this can lead to ${chalk.bold( const { values } = await snippet.run(); this.columnAdditions.push({ + tableName, + originalName: values.name, name: values.name, - defaultValue: values.defaultValue, type: values.type, + nullable: values.notNull === undefined || values.notNull === 'false' ? true : false, + unique: values.unique === undefined || values.unique === 'false' ? false : true, + defaultValue: values.default, link: values.link ? { table: values.link } : undefined, - nullable: values.notNull === undefined || values.notNull === false ? true : false, - unique: values.unique, - tableName, - originalName: values.name + vector: values.vectorDimension ? { dimension: values.vectorDimension } : undefined, + file: + values.type === 'file' && values.defaultPublicAccess + ? { defaultPublicAccess: values.defaultPublicAccess } + : undefined, + 'file[]': + values.type === 'file[]' && values.defaultPublicAccess + ? { defaultPublicAccess: values.defaultPublicAccess } + : undefined }); + await this.showSchemaEdit(); } catch (err) { if (err) throw err; diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index abb41514f..004b5253e 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -8,12 +8,20 @@ export type ColumnData = { }; nullable: boolean; defaultValue?: string; - vectorDimension?: number; + vector?: { + dimension: number; + }; originalName: string; tableName: string; link?: { table: string; }; + file?: { + defaultPublicAccess: boolean; + }; + 'file[]'?: { + defaultPublicAccess: boolean; + }; }; export type AddTablePayload = { diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 2ba298294..67a1f4eab 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -206,7 +206,6 @@ export const xataColumnTypeToPgRollConstraintName = ( export const xataColumnTypeToPgRollConstraint = (column: Column, table: string) => { const getConstraint = () => { - console.log('column type.....', table); if (isColumnTypeUnsupported(column.type)) return undefined; switch (column.type) { case 'vector': From 342754e9a3b9fde1591e90047499f03199f3cd1b Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 11:26:31 +0200 Subject: [PATCH 032/145] validate add column --- cli/src/commands/schema/edit.ts | 172 +++++++++++++++++++------------ cli/src/commands/schema/types.ts | 2 + 2 files changed, 110 insertions(+), 64 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index c8cdf8e4e..05bcc815c 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -20,7 +20,8 @@ import { DeleteTablePayload, EditColumnPayload, EditTablePayload, - SelectChoice + SelectChoice, + ValidationState } from './types.js'; import { exhaustiveCheck, @@ -38,6 +39,21 @@ const { Select, Snippet, Confirm } = enquirer as any; const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; const notNullUnsupportedTypes = defaultValueUnsupportedTypes; +const xataTypes = [ + 'string', + 'int', + 'float', + 'bool', + 'text', + 'multiple', + 'link', + 'email', + 'datetime', + 'vector', + 'json', + 'file', + 'file[]' +]; export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -353,28 +369,6 @@ Beware that this can lead to ${chalk.bold( footer() { return '\nUse the ↑ ↓ arrows to move across fields, enter to submit and escape to cancel.'; } - tableNameField = { - name: 'name', - message: 'The table name', - validate(value: string) { - // TODO make sure no other tables have this name - return notEmptyString(value) && !isReservedXataFieldName(value); //noExistingTableName(value) - } - }; - - noExistingTableName = (value: string) => { - return !this.tableEdits.find(({ name }) => name === value) || - !this.tableAdditions.find(({ name }) => name === value) - ? true - : 'Table name conflicts with another one'; - }; - - noExistingColumnName = (value: string, column: AddColumnPayload['column']) => { - return !this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || - !this.columnAdditions.find(({ name, tableName }) => tableName === column.tableName && name === value) - ? true - : 'Column name conflicts with another one in the same table'; - }; async toggleTableDelete({ initialTableName }: { initialTableName: string }) { const existingEntry = this.tableDeletions.find(({ name }) => name === initialTableName); @@ -406,6 +400,24 @@ Beware that this can lead to ${chalk.bold( } } + existingTableName = (value: string) => { + return this.branchDetails?.schema.tables.find(({ name }) => name === value) || + this.tableEdits.find(({ name }) => name === value) || + this.tableAdditions.find(({ name }) => name === value) + ? true + : false; + }; + + existingColumnName = (value: string, column: AddColumnPayload['column']) => { + return this.branchDetails?.schema.tables + .find(({ name }) => name === column.tableName) + ?.columns.find(({ name }) => name === value) || + this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || + this.columnAdditions.find(({ name, tableName }) => tableName === column.tableName && name === value) + ? true + : false; + }; + async showColumnEdit(column: EditColumnPayload['column']) { const uniqueObject = column.unique ? { name: `unique_constraint_${column.originalName}` } : undefined; const alterColumnDefaultValues: { alter_column: OpAlterColumn } = { @@ -441,7 +453,7 @@ Beware that this can lead to ${chalk.bold( initial: alterColumnDefaultValues.alter_column.column, validate: (value: string) => { if (column.originalName === value) return true; - return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); + return !emptyString(value) && !this.existingColumnName(value, column) && !isReservedXataFieldName(value); } }, { @@ -512,7 +524,6 @@ Beware that this can lead to ${chalk.bold( column: AddColumnPayload['column']; }) { this.clear(); - // TODO conditionally show template fields const template = ` { add_column: { @@ -538,70 +549,89 @@ Beware that this can lead to ${chalk.bold( name: 'name', message: 'The name of the column', validate: (value: string) => { - if (column.originalName === value) return true; - return notEmptyString(value) && this.noExistingColumnName(value, column) && !isReservedXataFieldName(value); + if (value === undefined) return 'Name cannot be undefined'; + if (emptyString(value)) return 'Name cannot be empty'; + if (this.existingColumnName(value, column)) return 'Column already exists'; + return !isReservedXataFieldName(value); } }, { name: 'type', - message: `The type of the column ${[ - 'string', - 'int', - 'float', - 'bool', - 'text', - 'multiple', - 'link', - 'email', - 'datetime', - 'vector', - 'json', - 'file', - 'file[]' - ]}`, + message: `The type of the column ${xataTypes}`, validate: (value: string) => { - return true; + if (value === undefined) return 'Type cannot be undefined'; + if (emptyString(value)) return 'Type cannot be empty'; + if (!xataTypes.includes(value)) + return 'Invalid xata type. Please specify one of the following: ' + xataTypes; } }, { name: 'nullable', - message: 'Whether the column can be null', - validate: (value: string) => { - return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; + message: `Whether the column can be null. Will be ignored if type is one of ${notNullUnsupportedTypes}`, + // todo these restriction still apply in pgroll branches? + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if (value !== undefined && columnType && notNullUnsupportedTypes.includes(columnType)) { + return `Nullable is not supported for ${columnType} columns. Please leave blank.`; + } + if (columnType && !notNullUnsupportedTypes.includes(columnType) && value !== 'true' && value !== 'false') + return 'Invalid value. Nullable field must be a boolean'; + return true; } }, { name: 'unique', - message: 'Whether the column is unique', - validate: (value: string) => { - return value !== 'false' && value !== 'true' ? 'Invalid value. Unique field must be a boolean' : true; + message: `Whether the column is unique. Will be ignored if type is one of ${uniqueUnsupportedTypes}`, + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if (value !== undefined && columnType && uniqueUnsupportedTypes.includes(columnType)) { + return `Unique is not supported for ${columnType} columns. Please leave blank.`; + } + if (columnType && !uniqueUnsupportedTypes.includes(columnType) && value !== 'true' && value !== 'false') + return 'Invalid value. Unique field must be a boolean'; + return true; } }, { name: 'default', - message: 'The default for the column', - validate: (value: string) => { + message: `The default for the column. Will be ignored if type is one of ${defaultValueUnsupportedTypes}`, + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if (value !== undefined && columnType && defaultValueUnsupportedTypes.includes(columnType)) { + return `Default value is not supported for ${columnType} columns. Please leave blank.`; + } return true; } }, { name: 'link', - message: 'Linked table. Only required for columns that are links', - validate: (value: string) => { + message: 'Linked table. Only required for columns that are links. Will be ignored if type is not link.', + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if ((value === undefined || emptyString(value)) && columnType === 'link') + return 'Cannot be empty string when the type is link'; + if (columnType === 'link' && !this.existingTableName(value)) return 'Table does not exist'; return true; } }, { name: 'vectorDimension', - message: 'Vector dimension. Only required for vector columns', - validate: (value: string) => { + message: 'Vector dimension. Only required for vector columns. Will be ignored if type is not vector.', + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if ((value === undefined || emptyString(value)) && columnType === 'vector') + return 'Cannot be empty string when the type is vector'; return true; } }, { name: 'defaultPublicAccess', - message: 'Default public access. Only required for file or file[] columns', - validate: (value: string) => { + message: + 'Default public access. Only required for file or file[] columns. Will be ignored if type is not file or file[].', + validate: (value: string, state: ValidationState) => { + const columnType = state.items.find(({ name }) => name === 'type')?.input; + if ((value === undefined || emptyString(value)) && (columnType === 'file' || columnType === 'file[]')) + return 'Cannot be empty string when the type is file or file[]. Please input true or false'; return true; } } @@ -643,7 +673,16 @@ Beware that this can lead to ${chalk.bold( const snippet = new Snippet({ message: 'Add a table', initial: { name: name }, - fields: [this.tableNameField], + fields: [ + { + name: 'name', + message: 'The table name', + validate: (value: string) => { + if (emptyString(value)) return 'Name cannot be empty'; + return !isReservedXataFieldName(value) && !this.existingTableName(value); + } + } + ], footer: this.footer, template: ` Name: \${name} @@ -664,10 +703,15 @@ Beware that this can lead to ${chalk.bold( const snippet = new Snippet({ message: 'Edit table name', initial: { name: initialTableName }, - fields: [this.tableNameField], - - // TODO name cannot be empty - // TODO name cannot be already taken + fields: [ + { + name: 'name', + message: 'The table name', + validate: (value: string) => { + return !emptyString(value) && !isReservedXataFieldName(value) && !this.existingTableName(value); + } + } + ], footer: this.footer, template: ` Name: \${name} @@ -711,8 +755,8 @@ const validateMigration = (migration: object) => { return PgRollMigrationDefinition.safeParse(migration); }; -const notEmptyString = (value: string) => { - return value !== '' ? true : 'Name cannot be empty'; +const emptyString = (value: string) => { + return value === ''; }; const createSpace = (): SelectChoice => { diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 004b5253e..9aa3ced91 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -68,3 +68,5 @@ export type DeleteTablePayload = { }; export type DeleteColumnPayload = { [tableName: string]: string[] }; + +export type ValidationState = { items: { name: string; input: string }[] }; From ba54ac26c871a62d0443108ce9b0ddaeeff6520f Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 14:18:37 +0200 Subject: [PATCH 033/145] fix null and unique validation --- cli/src/commands/schema/edit.test.ts | 2 +- cli/src/commands/schema/edit.ts | 140 ++++++++++++++++----------- cli/src/commands/schema/types.ts | 8 +- 3 files changed, 86 insertions(+), 64 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index d7845590a..6948b81f3 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -287,7 +287,7 @@ describe('edits to migrations', () => { nullable: true, table: 'table1', // Todo fix this. alter_column should not be boolean - unique: false, + unique: undefined, down: '"col2"', up: '"col2"' } diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 05bcc815c..81c0dc074 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -118,7 +118,7 @@ export default class EditSchema extends BaseCommand { name: column.name, unique: column.unique ?? false, type: column.type, - nullable: column.notNull ?? true, + nullable: column.notNull === true ? false : true, tableName: table.name, originalName: column.name, defaultValue: column.defaultValue ?? undefined, @@ -289,15 +289,36 @@ export default class EditSchema extends BaseCommand { } } - renderColumnName({ column }: { column: EditColumnPayload['column'] }) { + renderColumnNameChange({ column }: { column: EditColumnPayload['column'] }) { + const columnEdit = this.columnEdits + .filter((edit) => edit.tableName === column.tableName) + .find(({ originalName: editName }) => editName === column.originalName); + return columnEdit?.name; + } + + renderNullable({ column }: { column: EditColumnPayload['column'] }) { + const columnEdit = this.columnEdits + .filter((edit) => edit.tableName === column.tableName) + .find(({ originalName: editName }) => editName === column.originalName); + + return columnEdit?.nullable ?? column.nullable; + } + + renderUnique({ column }: { column: EditColumnPayload['column'] }) { const columnEdit = this.columnEdits .filter((edit) => edit.tableName === column.tableName) .find(({ originalName: editName }) => editName === column.originalName); + return columnEdit?.unique ?? column.unique; + } + + renderColumnName({ column }: { column: EditColumnPayload['column'] }) { + const columnNewName = this.renderColumnNameChange({ column }); const columnDelete = Object.entries(this.columnDeletions) .filter((entry) => entry[0] === column.tableName) .find((entry) => entry[1].includes(column.originalName)); const tableDelete = this.tableDeletions.find(({ name }) => name === column.tableName); + // todo show edits in default schema view const metadata = [ `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, column.unique ? chalk.gray.italic('unique') : '', @@ -310,8 +331,8 @@ export default class EditSchema extends BaseCommand { if (columnDelete || tableDelete) { return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})`; } - if (columnEdit) { - return ` - ${chalk.bold(columnEdit.name)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; + if (columnNewName) { + return ` - ${chalk.bold(columnNewName)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; } return `- ${chalk.cyan(column.originalName)} (${metadata})`; } @@ -419,68 +440,63 @@ Beware that this can lead to ${chalk.bold( }; async showColumnEdit(column: EditColumnPayload['column']) { - const uniqueObject = column.unique ? { name: `unique_constraint_${column.originalName}` } : undefined; - const alterColumnDefaultValues: { alter_column: OpAlterColumn } = { - alter_column: { - name: column.name, - column: column.originalName, - table: column.tableName, - nullable: !notNullUnsupportedTypes.includes(column.type) ? column.nullable : undefined, - unique: !uniqueUnsupportedTypes.includes(column.type) ? (column.unique ? uniqueObject : undefined) : undefined - // TODO support default https://github.com/xataio/pgroll/issues/327 - // TODO support changing type https://github.com/xataio/pgroll/issues/328 - } - }; this.clear(); const template = ` { alter_column: { name: \${name}, column: ${column.originalName}, - ${!notNullUnsupportedTypes.includes(column.type) ? `nullable: \${nullable},` : ''} - ${!uniqueUnsupportedTypes.includes(column.type) ? `unique: \${unique},` : ''} + nullable: \${nullable}, + unique: \${unique}, } - } -}`; - + }`; + // TODO support default https://github.com/xataio/pgroll/issues/327 + // TODO support changing type https://github.com/xataio/pgroll/issues/328 const snippet = new Snippet({ message: 'Edit a column', - initial: alterColumnDefaultValues, fields: [ { name: 'name', - message: alterColumnDefaultValues.alter_column.column, - initial: alterColumnDefaultValues.alter_column.column, - validate: (value: string) => { - if (column.originalName === value) return true; + message: 'The name of the column', + initial: this.renderColumnNameChange({ column }) ?? column.originalName, + validate: (value: string, state: ValidationState) => { + if (column.originalName === value || value === state.values.name) return true; return !emptyString(value) && !this.existingColumnName(value, column) && !isReservedXataFieldName(value); } }, { name: 'nullable', - message: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', - initial: alterColumnDefaultValues.alter_column.nullable ? 'false' : 'true', + message: `Whether the column can be null.`, + initial: notNullUnsupportedTypes.includes(column.type) + ? undefined + : this.renderNullable({ column }) + ? 'true' + : 'false', validate: (value: string) => { - return value !== 'false' && value !== 'true' ? 'Invalid value. Nullable field must be a boolean' : true; + if (value !== undefined && notNullUnsupportedTypes.includes(column.type)) { + return `Nullable is not supported for ${column.type} columns. Please leave blank.`; + } + if (!notNullUnsupportedTypes.includes(column.type) && parseBoolean(value) === undefined) + return 'Invalid value. Nullable field must be a boolean'; + return true; } }, { + // todo abstract into function name: 'unique', - message: alterColumnDefaultValues.alter_column.unique ? JSON.stringify(uniqueObject) : 'undefined', - initial: alterColumnDefaultValues.alter_column.unique ? JSON.stringify(uniqueObject) : 'undefined', + message: `Whether the column is unique.`, + initial: uniqueUnsupportedTypes.includes(column.type) + ? undefined + : this.renderUnique({ column }) + ? 'true' + : 'false', validate: (value: string) => { - if (value === 'undefined') return true; - const errorMessage = - 'Invalid value. Unique field must be in the form of { "name": "unique_name_for_constraint" }'; - try { - const v = JSON.parse(value); - if (v && v.name) { - return true; - } - throw errorMessage; - } catch (e) { - return errorMessage; + if (value !== undefined && uniqueUnsupportedTypes.includes(column.type)) { + return `Unique is not supported for ${column.type} columns. Please leave blank.`; } + if (!uniqueUnsupportedTypes.includes(column.type) && parseBoolean(value) === undefined) + return 'Invalid value. Unique field must be a boolean'; + return true; } } ], @@ -494,23 +510,23 @@ Beware that this can lead to ${chalk.bold( ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName ); if (existingEntry) { - // todo only add to edits if it changed from original existingEntry.name = values.name; - (existingEntry.nullable = values.notNull === undefined || values.notNull === false ? true : false), - (existingEntry.unique = values.unique); + existingEntry.nullable = parseBoolean(values.nullable) ?? true; + existingEntry.unique = parseBoolean(values.unique) ?? false; + await this.showSchemaEdit(); } else { this.columnEdits.push({ - // todo only add to edits if it changed from original name: values.name, defaultValue: column.defaultValue, type: column.type, - nullable: values.notNull === undefined || values.notNull === false ? true : false, - unique: values.unique, + nullable: parseBoolean(values.nullable) ?? true, + unique: parseBoolean(values.unique) ?? false, originalName: column.originalName, tableName: column.tableName }); + + await this.showSchemaEdit(); } - await this.showSchemaEdit(); } catch (err) { if (err) throw err; } @@ -574,7 +590,7 @@ Beware that this can lead to ${chalk.bold( if (value !== undefined && columnType && notNullUnsupportedTypes.includes(columnType)) { return `Nullable is not supported for ${columnType} columns. Please leave blank.`; } - if (columnType && !notNullUnsupportedTypes.includes(columnType) && value !== 'true' && value !== 'false') + if (columnType && !notNullUnsupportedTypes.includes(columnType) && parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; } @@ -587,7 +603,7 @@ Beware that this can lead to ${chalk.bold( if (value !== undefined && columnType && uniqueUnsupportedTypes.includes(columnType)) { return `Unique is not supported for ${columnType} columns. Please leave blank.`; } - if (columnType && !uniqueUnsupportedTypes.includes(columnType) && value !== 'true' && value !== 'false') + if (columnType && !uniqueUnsupportedTypes.includes(columnType) && parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; } @@ -647,8 +663,8 @@ Beware that this can lead to ${chalk.bold( originalName: values.name, name: values.name, type: values.type, - nullable: values.notNull === undefined || values.notNull === 'false' ? true : false, - unique: values.unique === undefined || values.unique === 'false' ? false : true, + nullable: parseBoolean(values.nullable) ?? true, + unique: parseBoolean(values.nullable) ?? false, defaultValue: values.default, link: values.link ? { table: values.link } : undefined, vector: values.vectorDimension ? { dimension: values.vectorDimension } : undefined, @@ -933,12 +949,15 @@ export const editsToMigrations = (command: EditSchema) => { column: originalName, table: tableName, nullable, - unique: unique as { name: string }, + unique: !unique + ? undefined + : { + name: `unique_constraint_${tableName}_${name}` + }, name, references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, - // if just a rename, no up and down required - // if a unique constraint change, below is required - // if notnull changes - notNullUpValue needs to be called + // todo if just a rename, no up and down required + // todo if notnull changes - notNullUpValue needs to be called up: `"${name}"`, down: `"${name}"` } @@ -976,3 +995,10 @@ async function waitForMigrationToFinish( const isReservedXataFieldName = (name: string) => { return name.toLowerCase().startsWith('xata_'); }; + +function parseBoolean(value?: string) { + if (!value) return undefined; + const val = value.toLowerCase(); + if (['true', 't', '1', 'y', 'yes'].includes(val)) return true; + if (['false', 'f', '0', 'n', 'no'].includes(val)) return false; +} diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 9aa3ced91..f948fbbe0 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -1,11 +1,7 @@ export type ColumnData = { name: string; type: string; - unique?: - | boolean - | { - name: string; - }; + unique: boolean; nullable: boolean; defaultValue?: string; vector?: { @@ -69,4 +65,4 @@ export type DeleteTablePayload = { export type DeleteColumnPayload = { [tableName: string]: string[] }; -export type ValidationState = { items: { name: string; input: string }[] }; +export type ValidationState = { values: { name: string }; items: { name: string; input: string }[] }; From 3cf7631cdead493089125b1ba339f64032d81cc9 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 14:25:05 +0200 Subject: [PATCH 034/145] test --- cli/src/commands/schema/edit.test.ts | 49 ++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 6948b81f3..5460edeae 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -272,8 +272,6 @@ describe('edits to migrations', () => { }); test('edit column', () => { - // todo correct this - // add different types of payloads editCommand.columnEdits.push({ ...column, name: 'col2' @@ -295,6 +293,53 @@ describe('edits to migrations', () => { ]); }); + test('edit column nullable to not nullable', () => { + editCommand.columnEdits.push({ + ...column, + nullable: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + alter_column: { + // todo name should not be in here + name: 'col1', + column: 'col1', + nullable: false, + table: 'table1', + unique: undefined, + down: '"col1"', + up: '"col1"' + } + } + ]); + }); + + test('edit column not unique to unique', () => { + editCommand.columnEdits.push({ + ...column, + unique: true + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + alter_column: { + // todo name should not be in here + name: 'col1', + column: 'col1', + // todo nullable should not be in here + nullable: true, + table: 'table1', + unique: { + name: 'unique_constraint_table1_col1' + }, + down: '"col1"', + up: '"col1"' + } + } + ]); + }); + test('delete column', () => { editCommand.columnDeletions['table1'] = ['col1']; editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); From e11b8f0478e564d0184e090988b4b106d38061ae Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 15:07:00 +0200 Subject: [PATCH 035/145] display of non null and unique changes --- cli/src/commands/schema/edit.ts | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 81c0dc074..aca95e9b3 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -140,8 +140,7 @@ export default class EditSchema extends BaseCommand { const newColumns: SelectChoice[] = []; for (const addition of this.columnAdditions.filter((addition) => addition.tableName === table.name)) { - // todo fix type - const formatted = { ...addition, tableName: table.name, originalName: addition.name } as any; + const formatted = { ...addition, tableName: table.name, originalName: addition.name }; newColumns.push({ name: { type: 'edit-column', column: formatted }, message: this.renderColumnName({ column: formatted }), @@ -318,11 +317,28 @@ export default class EditSchema extends BaseCommand { .find((entry) => entry[1].includes(column.originalName)); const tableDelete = this.tableDeletions.find(({ name }) => name === column.tableName); - // todo show edits in default schema view + const uniqueDisplay = () => { + const currentUniqueValue = this.renderUnique({ column }); + const originalUnique = column.unique; + if (currentUniqueValue !== originalUnique) { + return currentUniqueValue ? chalk.green('unique') : chalk.green('not unique'); + } + return currentUniqueValue ? chalk.gray.italic('unique') : ''; + }; + + const nullableDisplay = () => { + const currentNullableValue = this.renderNullable({ column }); + const originalNullable = column.nullable; + if (currentNullableValue !== originalNullable) { + return currentNullableValue ? chalk.green('nullable') : chalk.green('not nullable'); + } + return currentNullableValue ? chalk.gray.italic('nullable') : ''; + }; + const metadata = [ `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, - column.unique ? chalk.gray.italic('unique') : '', - !column.nullable ? chalk.gray.italic('not null') : '', + uniqueDisplay(), + nullableDisplay(), column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' ] .filter(Boolean) From 9bcb186bc9f181df0348b34cffafac834b87c76c Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 15:45:00 +0200 Subject: [PATCH 036/145] remove restriction on notnull and unsupported and default --- cli/src/commands/schema/edit.test.ts | 32 ++++++++++++++++ cli/src/commands/schema/edit.ts | 57 ++++++---------------------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 5460edeae..f8e8c344a 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -383,6 +383,38 @@ describe('edits to migrations', () => { expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); }); + // todo try deleting a column, and then adding one... + test.skip('creating a new column and deleting an existing table', () => { + editCommand.columnAdditions.push(column); + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.columnAdditions.push({ + ...column, + name: 'col2' + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col2', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined + } + } + } + ]); + }); + test('deleting an existing column deletes all column edits', () => { editCommand.columnEdits.push({ ...column, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index aca95e9b3..ac66372e1 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -36,9 +36,6 @@ import { const { Select, Snippet, Confirm } = enquirer as any; -const uniqueUnsupportedTypes = ['text', 'multiple', 'vector', 'json']; -const defaultValueUnsupportedTypes = ['multiple', 'link', 'vector']; -const notNullUnsupportedTypes = defaultValueUnsupportedTypes; const xataTypes = [ 'string', 'int', @@ -483,17 +480,9 @@ Beware that this can lead to ${chalk.bold( { name: 'nullable', message: `Whether the column can be null.`, - initial: notNullUnsupportedTypes.includes(column.type) - ? undefined - : this.renderNullable({ column }) - ? 'true' - : 'false', + initial: this.renderNullable({ column }) ? 'true' : 'false', validate: (value: string) => { - if (value !== undefined && notNullUnsupportedTypes.includes(column.type)) { - return `Nullable is not supported for ${column.type} columns. Please leave blank.`; - } - if (!notNullUnsupportedTypes.includes(column.type) && parseBoolean(value) === undefined) - return 'Invalid value. Nullable field must be a boolean'; + if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; } }, @@ -501,17 +490,9 @@ Beware that this can lead to ${chalk.bold( // todo abstract into function name: 'unique', message: `Whether the column is unique.`, - initial: uniqueUnsupportedTypes.includes(column.type) - ? undefined - : this.renderUnique({ column }) - ? 'true' - : 'false', + initial: this.renderUnique({ column }) ? 'true' : 'false', validate: (value: string) => { - if (value !== undefined && uniqueUnsupportedTypes.includes(column.type)) { - return `Unique is not supported for ${column.type} columns. Please leave blank.`; - } - if (!uniqueUnsupportedTypes.includes(column.type) && parseBoolean(value) === undefined) - return 'Invalid value. Unique field must be a boolean'; + if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; } } @@ -599,39 +580,25 @@ Beware that this can lead to ${chalk.bold( }, { name: 'nullable', - message: `Whether the column can be null. Will be ignored if type is one of ${notNullUnsupportedTypes}`, + message: `Whether the column can be null.`, // todo these restriction still apply in pgroll branches? - validate: (value: string, state: ValidationState) => { - const columnType = state.items.find(({ name }) => name === 'type')?.input; - if (value !== undefined && columnType && notNullUnsupportedTypes.includes(columnType)) { - return `Nullable is not supported for ${columnType} columns. Please leave blank.`; - } - if (columnType && !notNullUnsupportedTypes.includes(columnType) && parseBoolean(value) === undefined) - return 'Invalid value. Nullable field must be a boolean'; + validate: (value: string) => { + if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; } }, { name: 'unique', - message: `Whether the column is unique. Will be ignored if type is one of ${uniqueUnsupportedTypes}`, - validate: (value: string, state: ValidationState) => { - const columnType = state.items.find(({ name }) => name === 'type')?.input; - if (value !== undefined && columnType && uniqueUnsupportedTypes.includes(columnType)) { - return `Unique is not supported for ${columnType} columns. Please leave blank.`; - } - if (columnType && !uniqueUnsupportedTypes.includes(columnType) && parseBoolean(value) === undefined) - return 'Invalid value. Unique field must be a boolean'; + message: `Whether the column is unique.`, + validate: (value: string) => { + if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; } }, { name: 'default', - message: `The default for the column. Will be ignored if type is one of ${defaultValueUnsupportedTypes}`, - validate: (value: string, state: ValidationState) => { - const columnType = state.items.find(({ name }) => name === 'type')?.input; - if (value !== undefined && columnType && defaultValueUnsupportedTypes.includes(columnType)) { - return `Default value is not supported for ${columnType} columns. Please leave blank.`; - } + message: `The default for the column.`, + validate: (value: string) => { return true; } }, From 90f00ac88692d643808d2e1e88a2ff4d5f30ea33 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 8 Apr 2024 18:09:56 +0200 Subject: [PATCH 037/145] fix empty deletes after editions --- cli/src/commands/schema/edit.test.ts | 4 ++-- cli/src/commands/schema/edit.ts | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index f8e8c344a..24abc42ef 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -383,12 +383,12 @@ describe('edits to migrations', () => { expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); }); - // todo try deleting a column, and then adding one... - test.skip('creating a new column and deleting an existing table', () => { + test('creating a new column and deleting an existing table', () => { editCommand.columnAdditions.push(column); editCommand.columnDeletions['table1'] = ['col1']; editCommand.columnAdditions.push({ ...column, + originalName: 'col2', name: 'col2' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index ac66372e1..e2a837608 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -581,7 +581,6 @@ Beware that this can lead to ${chalk.bold( { name: 'nullable', message: `Whether the column can be null.`, - // todo these restriction still apply in pgroll branches? validate: (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; @@ -776,15 +775,26 @@ export const editsToMigrations = (command: EditSchema) => { localColumnAdditions = localColumnAdditions.filter( (addition) => !localColumnDeletions[addition.tableName]?.includes(addition.originalName) ); + localColumnEdits = localColumnEdits.filter( (edit) => !localColumnDeletions[edit.tableName]?.includes(edit.originalName) ); - localColumnDeletions = Object.fromEntries( - Object.entries(localColumnDeletions).filter( - (entry) => !tmpColumnAddition.find((addition) => addition.tableName === entry[0]) - ) + + console.log('object entries', Object.entries(localColumnDeletions)); + console.log( + 'object entries filtered', + Object.entries(localColumnDeletions).filter((el) => true) ); + for (const [tableName, columns] of Object.entries(localColumnDeletions)) { + const indexOfColumnToDelete = tmpColumnAddition.findIndex( + (addition) => addition.tableName === tableName && columns.includes(addition.originalName) + ); + if (indexOfColumnToDelete > -1) { + localColumnDeletions[tableName].splice(indexOfColumnToDelete, 1); + } + } + const isTableDeleted = (name: string) => { return localTableDeletions.find(({ name: tableName }) => tableName === name); }; From 14c402990ef144c512d369b66f2b71d53b8978fd Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 09:37:37 +0200 Subject: [PATCH 038/145] fix edits to new columns unique and not null not being applied --- cli/src/commands/schema/edit.test.ts | 36 ++++++++++++++++++++++++++++ cli/src/commands/schema/edit.ts | 17 ++++++------- 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 24abc42ef..8082f2c12 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -510,6 +510,42 @@ describe('edits to migrations', () => { editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual([]); }); + test('deleting a newly created column does not remove other deletes', () => { + // delete column + // add new column + // delete new column + // make sure delete to old column is still present + }); + // todo unique test + test('adding a newly created column and making edit', () => { + editCommand.columnAdditions.push({ + ...column, + type: 'float' + }); + editCommand.columnEdits.push({ + ...column, + name: 'col5', + nullable: false, + unique: true + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + add_column: { + table: 'table1', + column: { + name: 'col5', + type: 'double precision', + nullable: false, + unique: true, + default: undefined, + references: undefined, + up: '0' + } + } + } + ]); + }); test('editing a new column in an existing table removes the column edit, and gets sent in add_column', () => { editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index e2a837608..27fde2fb6 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -780,12 +780,6 @@ export const editsToMigrations = (command: EditSchema) => { (edit) => !localColumnDeletions[edit.tableName]?.includes(edit.originalName) ); - console.log('object entries', Object.entries(localColumnDeletions)); - console.log( - 'object entries filtered', - Object.entries(localColumnDeletions).filter((el) => true) - ); - for (const [tableName, columns] of Object.entries(localColumnDeletions)) { const indexOfColumnToDelete = tmpColumnAddition.findIndex( (addition) => addition.tableName === tableName && columns.includes(addition.originalName) @@ -832,11 +826,14 @@ export const editsToMigrations = (command: EditSchema) => { localColumnAdditions = localColumnAdditions.map((addition) => { const edit = editsToNewColumn.find(({ originalName }) => originalName === addition.name); if (edit) { - return { + const augmentedEdit = { ...addition, tableName: edit.tableName, - name: edit.name + name: edit.name, + unique: edit.unique ?? false, + nullable: edit.nullable ?? true }; + return augmentedEdit; } return addition; }); @@ -874,8 +871,8 @@ export const editsToMigrations = (command: EditSchema) => { : undefined, default: column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, - nullable: column.nullable, - unique: column.unique as boolean, + nullable: parseBoolean(String(column.nullable)) ?? true, + unique: parseBoolean(String(column.unique)) ?? false, check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), comment: xataColumnTypeToPgRollComment(column as any), up: requiresUpArgument(column.nullable === false, column.defaultValue) From df8147422fec9aca16b4493a45a5242e535bb889 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 10:51:29 +0200 Subject: [PATCH 039/145] fix deletions on new columns --- cli/src/commands/schema/edit.test.ts | 22 +++++++++++++++++----- cli/src/commands/schema/edit.ts | 19 +++++++++++-------- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 8082f2c12..c77b211b7 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -511,12 +511,24 @@ describe('edits to migrations', () => { expect(editCommand.currentMigration.operations).toEqual([]); }); test('deleting a newly created column does not remove other deletes', () => { - // delete column - // add new column - // delete new column - // make sure delete to old column is still present + editCommand.columnDeletions['table1'] = ['col1']; + editCommand.columnAdditions.push({ + ...column, + originalName: 'col2', + name: 'col3', + type: 'float' + }); + editCommand.columnDeletions['table1'].push('col2'); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + drop_column: { + column: 'col1', + table: 'table1' + } + } + ]); }); - // todo unique test test('adding a newly created column and making edit', () => { editCommand.columnAdditions.push({ ...column, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 27fde2fb6..5c5e21937 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -765,11 +765,11 @@ export const editsToMigrations = (command: EditSchema) => { // Duplicating here because if we remove items from class state they dont show on UI let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = command.tableAdditions; - let localTableEdits: EditTablePayload['table'][] = command.tableEdits; - const localTableDeletions: DeleteTablePayload[] = command.tableDeletions; - let localColumnAdditions: AddColumnPayload['column'][] = command.columnAdditions; - let localColumnEdits: EditColumnPayload['column'][] = command.columnEdits; - let localColumnDeletions: DeleteColumnPayload = command.columnDeletions; + let localTableEdits: EditTablePayload['table'][] = [...command.tableEdits]; + const localTableDeletions: DeleteTablePayload[] = [...command.tableDeletions]; + let localColumnAdditions: AddColumnPayload['column'][] = [...command.columnAdditions]; + let localColumnEdits: EditColumnPayload['column'][] = [...command.columnEdits]; + let localColumnDeletions: DeleteColumnPayload = Object.assign({}, command.columnDeletions); const tmpColumnAddition = [...localColumnAdditions]; localColumnAdditions = localColumnAdditions.filter( @@ -781,11 +781,13 @@ export const editsToMigrations = (command: EditSchema) => { ); for (const [tableName, columns] of Object.entries(localColumnDeletions)) { - const indexOfColumnToDelete = tmpColumnAddition.findIndex( + const columnWasAdded = tmpColumnAddition.filter( (addition) => addition.tableName === tableName && columns.includes(addition.originalName) ); - if (indexOfColumnToDelete > -1) { - localColumnDeletions[tableName].splice(indexOfColumnToDelete, 1); + if (columnWasAdded) { + localColumnDeletions[tableName] = localColumnDeletions[tableName].filter((col) => { + return !tmpColumnAddition.some((addition) => addition.tableName === tableName && addition.originalName === col); + }); } } @@ -884,6 +886,7 @@ export const editsToMigrations = (command: EditSchema) => { const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { + console.log('entry from localdeletions', localColumnDeletions); return entry[1].map((e) => { return { drop_column: { From d2541302bc376855f575b29ae738e606cf38cbc9 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 11:25:47 +0200 Subject: [PATCH 040/145] warning for source, clean template, remove drop on new tables --- cli/src/commands/schema/edit.test.ts | 32 ++++++++++---------------- cli/src/commands/schema/edit.ts | 34 ++++++++++++++-------------- 2 files changed, 29 insertions(+), 37 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index c77b211b7..b17e1e38d 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -435,47 +435,35 @@ describe('edits to migrations', () => { describe('new tables', () => { test('deleting a new table deletes all table edits', () => { + editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_table: { name: 'table1' } - } - ]); + expect(editCommand.currentMigration.operations).toEqual([]); }); test('deleting a new table deletes all column edits', () => { + editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_table: { name: 'table1' } - } - ]); + expect(editCommand.currentMigration.operations).toEqual([]); }); test('deleting a new table deletes all column deletes', () => { + editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_table: { name: 'table1' } - } - ]); + expect(editCommand.currentMigration.operations).toEqual([]); }); test('deleting a new table deletes all column additions', () => { + editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push(column); editCommand.tableDeletions.push({ name: 'table1' }); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_table: { name: 'table1' } - } - ]); + expect(editCommand.currentMigration.operations).toEqual([]); }); test('editing a new table is bundled with the table addition', () => { editCommand.tableAdditions.push({ name: 'table1' }); @@ -497,6 +485,10 @@ describe('edits to migrations', () => { } ]); }); + test.todo('adding a column on a new table with unique = false is sent correctly'); + test.todo('adding a column on a new table with unique = true is sent correctly'); + test.todo('adding a column on a new table with nullable = false is sent correctly'); + test.todo('adding a column on a new table with nullable = true is sent correctly'); }); describe('existing tables with new columns', () => { diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 5c5e21937..0af97f275 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -388,7 +388,8 @@ Beware that this can lead to ${chalk.bold( if (!branchDetails) this.error('Could not get the schema from the current branch'); if (flags.source) { - // todo implement editor + this.warn('Schema source editing is not supported yet. Please run the command without the --source flag.'); + process.exit(0); } else { this.branchDetails = branchDetails; await this.showSchemaEdit(); @@ -455,14 +456,11 @@ Beware that this can lead to ${chalk.bold( async showColumnEdit(column: EditColumnPayload['column']) { this.clear(); const template = ` - { - alter_column: { name: \${name}, column: ${column.originalName}, nullable: \${nullable}, unique: \${unique}, - } - }`; + `; // TODO support default https://github.com/xataio/pgroll/issues/327 // TODO support changing type https://github.com/xataio/pgroll/issues/328 const snippet = new Snippet({ @@ -538,9 +536,6 @@ Beware that this can lead to ${chalk.bold( }) { this.clear(); const template = ` - { - add_column: { - column: { name: \${name}, nullable: \${nullable}, unique: \${unique}, @@ -550,10 +545,7 @@ Beware that this can lead to ${chalk.bold( vectorDimension: \${vectorDimension} defaultPublicAccess: \${defaultPublicAccess} }, - table: ${tableName} - } - } -}`; + table: ${tableName}`; const snippet = new Snippet({ message: 'Add a column', @@ -763,10 +755,11 @@ const createSpace = (): SelectChoice => { export const editsToMigrations = (command: EditSchema) => { // Duplicating here because if we remove items from class state they dont show on UI - let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = - command.tableAdditions; + let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = [ + ...command.tableAdditions + ]; let localTableEdits: EditTablePayload['table'][] = [...command.tableEdits]; - const localTableDeletions: DeleteTablePayload[] = [...command.tableDeletions]; + let localTableDeletions: DeleteTablePayload[] = [...command.tableDeletions]; let localColumnAdditions: AddColumnPayload['column'][] = [...command.columnAdditions]; let localColumnEdits: EditColumnPayload['column'][] = [...command.columnEdits]; let localColumnDeletions: DeleteColumnPayload = Object.assign({}, command.columnDeletions); @@ -795,15 +788,23 @@ export const editsToMigrations = (command: EditSchema) => { return localTableDeletions.find(({ name: tableName }) => tableName === name); }; + // Remove table edits, additions for tables that are deleted localTableAdditions = localTableAdditions.filter(({ name }) => !isTableDeleted(name)); localTableEdits = localTableEdits.filter(({ name }) => !isTableDeleted(name)); - localColumnAdditions = localColumnAdditions.filter(({ tableName }) => !isTableDeleted(tableName)); + // Remove column edits, additions and deletions for tables that are deleted + localColumnAdditions = localColumnAdditions.filter(({ tableName }) => !isTableDeleted(tableName)); localColumnEdits = localColumnEdits.filter(({ tableName }) => !isTableDeleted(tableName)); localColumnDeletions = Object.fromEntries( Object.entries(localColumnDeletions).filter(([tableName]) => !isTableDeleted(tableName)) ); + // Remove the table deletion if the table is new + // checking table additions unfiltered because the deleted tables have already been removed + localTableDeletions = localTableDeletions.filter( + ({ name }) => !command.tableAdditions.find((addition) => addition.name === name) + ); + const editsToNewTable = localTableEdits.filter(({ name }) => localTableAdditions.find((addition) => addition.name === name) ); @@ -886,7 +887,6 @@ export const editsToMigrations = (command: EditSchema) => { const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { - console.log('entry from localdeletions', localColumnDeletions); return entry[1].map((e) => { return { drop_column: { From 861b89eca4f27afb82619592d7e934e1ea1f8ad7 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 11:37:36 +0200 Subject: [PATCH 041/145] fix unique --- cli/src/commands/schema/edit.test.ts | 112 ++++++++++++++++++++++++++- cli/src/commands/schema/edit.ts | 2 +- 2 files changed, 109 insertions(+), 5 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index b17e1e38d..e3fbfb84b 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -485,10 +485,114 @@ describe('edits to migrations', () => { } ]); }); - test.todo('adding a column on a new table with unique = false is sent correctly'); - test.todo('adding a column on a new table with unique = true is sent correctly'); - test.todo('adding a column on a new table with nullable = false is sent correctly'); - test.todo('adding a column on a new table with nullable = true is sent correctly'); + test('adding a column on a new table with unique = false is sent correctly', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + ...column, + type: 'float', + unique: true + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: true, + unique: true, + default: undefined, + references: undefined, + up: undefined + } + ] + } + } + ]); + }); + test('adding a column on a new table with unique = true is sent correctly', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + ...column, + type: 'float', + unique: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: true, + unique: false, + default: undefined, + references: undefined, + up: undefined + } + ] + } + } + ]); + }); + test('adding a column on a new table with nullable = false is sent correctly', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + ...column, + type: 'float', + nullable: false + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: false, + unique: false, + default: undefined, + references: undefined, + up: '0' + } + ] + } + } + ]); + }); + test('adding a column on a new table with nullable = true is sent correctly', () => { + editCommand.tableAdditions.push({ name: 'table1' }); + editCommand.columnAdditions.push({ + ...column, + type: 'float', + nullable: true + }); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual([ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: true, + unique: false, + default: undefined, + references: undefined, + up: undefined + } + ] + } + } + ]); + }); }); describe('existing tables with new columns', () => { diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 0af97f275..733454720 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -638,7 +638,7 @@ Beware that this can lead to ${chalk.bold( name: values.name, type: values.type, nullable: parseBoolean(values.nullable) ?? true, - unique: parseBoolean(values.nullable) ?? false, + unique: parseBoolean(values.unique) ?? false, defaultValue: values.default, link: values.link ? { table: values.link } : undefined, vector: values.vectorDimension ? { dimension: values.vectorDimension } : undefined, From 2d42a30b9b2eebcfe34e269c57c78d8dc859d1d3 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 11:50:25 +0200 Subject: [PATCH 042/145] clean up table name edits --- cli/src/commands/schema/edit.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 733454720..ed3d36284 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -350,6 +350,11 @@ export default class EditSchema extends BaseCommand { return `- ${chalk.cyan(column.originalName)} (${metadata})`; } + renderTableNameChange(tableName: string) { + const tableEdit = this.tableEdits.find((edit) => edit.name === tableName); + return tableEdit?.newName; + } + renderTableName(originalName: string, newTable: boolean = false) { const tableEdit = this.tableEdits.find(({ name }) => name === originalName); const tableDelete = this.tableDeletions.find(({ name }) => name === originalName); @@ -357,7 +362,9 @@ export default class EditSchema extends BaseCommand { return `• ${chalk.red.strikethrough(originalName)}`; } if (tableEdit) { - return `• ${chalk.bold(tableEdit.newName)} -> ${chalk.yellow.strikethrough(originalName)}`; + return `• ${chalk.bold(this.renderTableNameChange(originalName) ?? originalName)} -> ${chalk.yellow.strikethrough( + originalName + )}`; } return newTable ? `• ${chalk.bold(originalName)}` : `• ${chalk.bold(originalName)}`; } @@ -692,12 +699,13 @@ Beware that this can lead to ${chalk.bold( this.clear(); const snippet = new Snippet({ message: 'Edit table name', - initial: { name: initialTableName }, fields: [ { name: 'name', message: 'The table name', - validate: (value: string) => { + initial: this.renderTableNameChange(initialTableName) ?? initialTableName, + validate: (value: string, state: ValidationState) => { + if (value === state.values.name) return true; return !emptyString(value) && !isReservedXataFieldName(value) && !this.existingTableName(value); } } From 5f7105450bc0e1e61dc6241d0c47afcf789e8ee7 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 13:32:28 +0200 Subject: [PATCH 043/145] only create edit if different from original --- cli/src/commands/schema/edit.ts | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index ed3d36284..384d1d6a4 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -308,7 +308,7 @@ export default class EditSchema extends BaseCommand { } renderColumnName({ column }: { column: EditColumnPayload['column'] }) { - const columnNewName = this.renderColumnNameChange({ column }); + const columnEditName = this.renderColumnNameChange({ column }); const columnDelete = Object.entries(this.columnDeletions) .filter((entry) => entry[0] === column.tableName) .find((entry) => entry[1].includes(column.originalName)); @@ -344,8 +344,8 @@ export default class EditSchema extends BaseCommand { if (columnDelete || tableDelete) { return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})`; } - if (columnNewName) { - return ` - ${chalk.bold(columnNewName)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; + if (columnEditName && columnEditName !== column.originalName) { + return ` - ${chalk.bold(columnEditName)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; } return `- ${chalk.cyan(column.originalName)} (${metadata})`; } @@ -511,11 +511,23 @@ Beware that this can lead to ${chalk.bold( const existingEntry = this.columnEdits.find( ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName ); - if (existingEntry) { + + const unchanged = + column.name === values.name && + column.nullable === parseBoolean(values.nullable) && + column.unique === parseBoolean(values.unique); + + if (unchanged) { + const index = this.columnEdits.findIndex( + ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName + ); + if (index > -1) { + this.columnEdits.splice(index, 1); + } + } else if (existingEntry) { existingEntry.name = values.name; existingEntry.nullable = parseBoolean(values.nullable) ?? true; existingEntry.unique = parseBoolean(values.unique) ?? false; - await this.showSchemaEdit(); } else { this.columnEdits.push({ name: values.name, @@ -526,9 +538,8 @@ Beware that this can lead to ${chalk.bold( originalName: column.originalName, tableName: column.tableName }); - - await this.showSchemaEdit(); } + await this.showSchemaEdit(); } catch (err) { if (err) throw err; } From 6a4b81479adbaad715b5a880d6d587a0864837a7 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 15:54:13 +0200 Subject: [PATCH 044/145] refactor tests --- cli/src/commands/schema/edit.test.ts | 1042 ++++++++++++++------------ 1 file changed, 546 insertions(+), 496 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index e3fbfb84b..c7e99c066 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -43,121 +43,148 @@ const column: AddColumnPayload['column'] = { tableName: 'table1' }; -describe('edits to migrations', () => { - describe('single edits to existing entities', () => { - test('add table', () => { - editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ create_table: { name: 'table1', columns: [] } }]); - }); +const runTest = (name: string, fx: () => void, expectation: any) => { + test(name, () => { + fx(); + editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); + expect(editCommand.currentMigration.operations).toEqual(expectation); + }); +}; - test('delete table', () => { - editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); - }); +type TestCase = { + name: string; + fx: () => void; + expectation: any; + only?: boolean; +}; - test('edit table', () => { +const testCases: TestCase[] = [ + { + name: 'add table', + fx: () => { + editCommand.tableAdditions.push({ name: 'table1' }); + }, + expectation: [{ create_table: { name: 'table1', columns: [] } }] + }, + { + name: 'delete table', + fx: () => { + editCommand.tableDeletions.push({ name: 'table1' }); + }, + expectation: [{ drop_table: { name: 'table1' } }] + }, + { + name: 'edit table', + fx: () => { editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ rename_table: { from: 'table1', to: 'table2' } }]); - }); - - test('add column', () => { + }, + expectation: [{ rename_table: { from: 'table1', to: 'table2' } }] + }, + { + name: 'add column', + fx: () => { editCommand.columnAdditions.push(column); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - type: 'text', - nullable: true, - unique: false, - check: { - constraint: 'LENGTH("col1") <= 2048', - name: 'table1_xata_string_length_col1' - }, - up: undefined, - comment: '{"xata.type":"string"}', - default: undefined, - references: undefined - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col1") <= 2048', + name: 'table1_xata_string_length_col1' + }, + up: undefined, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined } } - ]); - }); - test('add column default', () => { + } + ] + }, + { + name: 'add column default', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'int', defaultValue: '10000' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - type: 'bigint', - references: undefined, - default: "'10000'", - nullable: true, - unique: false - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + default: "'10000'", + nullable: true, + unique: false } } - ]); - }); - test('add column not null', () => { + } + ] + }, + { + name: 'add column not null', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'int', nullable: false }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - type: 'bigint', - references: undefined, - up: '0', - nullable: false, - unique: false - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + up: '0', + nullable: false, + unique: false } } - ]); - }); - test('add column unique', () => { + } + ] + }, + { + name: 'add column unique', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'int', unique: true }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - type: 'bigint', - references: undefined, - up: undefined, - nullable: true, - unique: true - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'bigint', + references: undefined, + up: undefined, + nullable: true, + unique: true } } - ]); - }); - test('add column file', () => { + } + ] + }, + { + name: 'add column file', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'file', @@ -165,25 +192,27 @@ describe('edits to migrations', () => { defaultPublicAccess: false } }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - comment: '{"xata.file.dpa":false}', - type: 'xata.xata_file', - references: undefined, - up: undefined, - nullable: true, - unique: false - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + comment: '{"xata.file.dpa":false}', + type: 'xata.xata_file', + references: undefined, + up: undefined, + nullable: true, + unique: false } } - ]); - }); - test('add column file[]', () => { + } + ] + }, + { + name: 'add column file[]', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'file[]', @@ -191,25 +220,27 @@ describe('edits to migrations', () => { defaultPublicAccess: true } }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - comment: '{"xata.file.dpa":true}', - type: 'xata.xata_file_array', - references: undefined, - up: undefined, - nullable: true, - unique: false - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + comment: '{"xata.file.dpa":true}', + type: 'xata.xata_file_array', + references: undefined, + up: undefined, + nullable: true, + unique: false } } - ]); - }); - test('add column vector', () => { + } + ] + }, + { + name: 'add column vector', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'vector', @@ -217,173 +248,170 @@ describe('edits to migrations', () => { dimension: 10 } }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - check: { - constraint: 'ARRAY_LENGTH("col1", 1) = 10', - name: 'table1_xata_vector_length_col1' - }, - type: 'real[]', - nullable: true, - unique: false, - comment: '{"xata.search.dimension":10}', - references: undefined, - up: undefined, - default: undefined - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + check: { + constraint: 'ARRAY_LENGTH("col1", 1) = 10', + name: 'table1_xata_vector_length_col1' + }, + type: 'real[]', + nullable: true, + unique: false, + comment: '{"xata.search.dimension":10}', + references: undefined, + up: undefined, + default: undefined } } - ]); - }); - test('add link column', () => { + } + ] + }, + { + name: 'add link column', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'link', link: { table: 'table2' } }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col1', - type: 'text', - nullable: true, - unique: false, - comment: '{"xata.link":"table2"}', - references: { - column: 'xata_id', - name: 'col1_link', - on_delete: 'SET NULL', - table: 'table2' - }, - default: undefined, - up: undefined - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col1', + type: 'text', + nullable: true, + unique: false, + comment: '{"xata.link":"table2"}', + references: { + column: 'xata_id', + name: 'col1_link', + on_delete: 'SET NULL', + table: 'table2' + }, + default: undefined, + up: undefined } } - ]); - }); - - test('edit column', () => { + } + ] + }, + { + name: 'edit column', + fx: () => { editCommand.columnEdits.push({ ...column, name: 'col2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - alter_column: { - name: 'col2', - column: 'col1', - nullable: true, - table: 'table1', - // Todo fix this. alter_column should not be boolean - unique: undefined, - down: '"col2"', - up: '"col2"' - } + }, + expectation: [ + { + alter_column: { + name: 'col2', + column: 'col1', + nullable: true, + table: 'table1', + // Todo fix this. alter_column should not be boolean + unique: undefined, + down: '"col2"', + up: '"col2"' } - ]); - }); - - test('edit column nullable to not nullable', () => { + } + ] + }, + { + name: 'edit column nullable to not nullable', + fx: () => { editCommand.columnEdits.push({ ...column, nullable: false }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - alter_column: { - // todo name should not be in here - name: 'col1', - column: 'col1', - nullable: false, - table: 'table1', - unique: undefined, - down: '"col1"', - up: '"col1"' - } + }, + expectation: [ + { + alter_column: { + name: 'col1', + column: 'col1', + nullable: false, + table: 'table1', + unique: undefined, + down: '"col1"', + up: '"col1"' } - ]); - }); - - test('edit column not unique to unique', () => { + } + ] + }, + { + name: 'edit column not unique to unique', + fx: () => { editCommand.columnEdits.push({ ...column, unique: true }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - alter_column: { - // todo name should not be in here - name: 'col1', - column: 'col1', - // todo nullable should not be in here - nullable: true, - table: 'table1', - unique: { - name: 'unique_constraint_table1_col1' - }, - down: '"col1"', - up: '"col1"' + }, + expectation: [ + { + alter_column: { + // todo name should not be in here + name: 'col1', + column: 'col1', + // todo nullable should not be in here + nullable: true, + down: '"col1"', + up: '"col1"', + table: 'table1', + unique: { + name: 'unique_constraint_table1_col1' } } - ]); - }); - - test('delete column', () => { - editCommand.columnDeletions['table1'] = ['col1']; - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_column: { - column: 'col1', - table: 'table1' - } - } - ]); - }); - }); - - describe('multiple edits to existing entities', () => { - test('deleting an existing table deletes all table edits', () => { + } + ] + }, + { + name: 'deleting an existing table deletes all table edits', + fx: () => { editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); - }); - test('deleting an existing table deletes all column edits', () => { + }, + expectation: [{ drop_table: { name: 'table1' } }] + }, + { + name: 'deleting an existing table deletes all column edits', + fx: () => { editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); - }); - test('deleting an existing table deletes all column deletes', () => { + }, + expectation: [{ drop_table: { name: 'table1' } }] + }, + { + name: 'deleting an existing table deletes all column deletes', + fx: () => { editCommand.columnDeletions['table1'] = ['col1']; editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); - }); - test('deleting an existing table deletes all column additions', () => { + }, + expectation: [{ drop_table: { name: 'table1' } }] + }, + { + name: 'deleting an existing table deletes all column additions', + fx: () => { editCommand.columnAdditions.push(column); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([{ drop_table: { name: 'table1' } }]); - }); - - test('creating a new column and deleting an existing table', () => { + }, + expectation: [{ drop_table: { name: 'table1' } }] + }, + { + name: 'creating a new column and deleting an existing table', + fx: () => { editCommand.columnAdditions.push(column); editCommand.columnDeletions['table1'] = ['col1']; editCommand.columnAdditions.push({ @@ -391,222 +419,244 @@ describe('edits to migrations', () => { originalName: 'col2', name: 'col2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col2', - type: 'text', - nullable: true, - unique: false, - check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' - }, - comment: '{"xata.type":"string"}', - default: undefined, - references: undefined, - up: undefined - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col2', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined } } - ]); - }); - - test('deleting an existing column deletes all column edits', () => { + } + ] + }, + { + name: 'deleting an existing column deletes all column edits', + fx: () => { editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_column: { - column: 'col1', - table: 'table1' - } + }, + expectation: [ + { + drop_column: { + column: 'col1', + table: 'table1' } - ]); - }); - }); + } + ] + }, - describe('new tables', () => { - test('deleting a new table deletes all table edits', () => { + { + name: 'deleting a new table deletes all table edits', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([]); - }); - test('deleting a new table deletes all column edits', () => { + }, + expectation: [] + }, + { + name: 'deleting a new table deletes all column edits', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([]); - }); - test('deleting a new table deletes all column deletes', () => { + }, + expectation: [] + }, + + { + name: 'deleting a new table deletes all column deletes', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([]); - }); - test('deleting a new table deletes all column additions', () => { + }, + expectation: [] + }, + + { + name: 'deleting a new table deletes all column additions', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push(column); editCommand.tableDeletions.push({ name: 'table1' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([]); - }); - test('editing a new table is bundled with the table addition', () => { + }, + expectation: [] + }, + { + name: 'editing a new table is bundled with the table addition', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { name: 'table2', columns: [] } - } - ]); - }); - test('editing a new table removes the table edit', () => { + }, + expectation: [ + { + create_table: { name: 'table2', columns: [] } + } + ] + }, + { + name: 'editing a new table removes the table edit', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { name: 'table2', columns: [] } - } - ]); - }); - test('adding a column on a new table with unique = false is sent correctly', () => { + }, + expectation: [ + { + create_table: { name: 'table2', columns: [] } + } + ] + }, + { + name: 'adding a column on a new table with unique = false is sent correctly', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push({ ...column, type: 'float', unique: true }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [ - { - name: 'col1', - type: 'double precision', - nullable: true, - unique: true, - default: undefined, - references: undefined, - up: undefined - } - ] - } + }, + expectation: [ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: true, + unique: true, + default: undefined, + references: undefined, + up: undefined + } + ] } - ]); - }); - test('adding a column on a new table with unique = true is sent correctly', () => { + } + ] + }, + { + name: 'adding a column on a new table with nullable = false is sent correctly', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push({ ...column, type: 'float', - unique: false + nullable: false }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [ - { - name: 'col1', - type: 'double precision', - nullable: true, - unique: false, - default: undefined, - references: undefined, - up: undefined - } - ] - } + }, + expectation: [ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: false, + unique: false, + default: undefined, + references: undefined, + up: '0' + } + ] } - ]); - }); - test('adding a column on a new table with nullable = false is sent correctly', () => { + } + ] + }, + { + name: 'adding a column on a new table with nullable = false is sent correctly', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push({ ...column, type: 'float', nullable: false }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [ - { - name: 'col1', - type: 'double precision', - nullable: false, - unique: false, - default: undefined, - references: undefined, - up: '0' - } - ] - } + }, + expectation: [ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: false, + unique: false, + default: undefined, + references: undefined, + up: '0' + } + ] } - ]); - }); - test('adding a column on a new table with nullable = true is sent correctly', () => { + } + ] + }, + { + name: 'adding a column on a new table with nullable = true is sent correctly', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push({ ...column, type: 'float', nullable: true }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [ - { - name: 'col1', - type: 'double precision', - nullable: true, - unique: false, - default: undefined, - references: undefined, - up: undefined - } - ] - } + }, + expectation: [ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col1', + type: 'double precision', + nullable: true, + unique: false, + default: undefined, + references: undefined, + up: undefined + } + ] } - ]); - }); - }); - - describe('existing tables with new columns', () => { - test('deleting a new column deletes all column additions, edit and deletions', () => { + } + ] + }, + { + name: 'deleting a new column deletes all column additions, edit and deletions', + fx: () => { editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([]); - }); - test('deleting a newly created column does not remove other deletes', () => { + }, + expectation: [] + }, + { + name: 'deleting a newly created column does not remove other deletes', + fx: () => { editCommand.columnDeletions['table1'] = ['col1']; editCommand.columnAdditions.push({ ...column, @@ -615,17 +665,19 @@ describe('edits to migrations', () => { type: 'float' }); editCommand.columnDeletions['table1'].push('col2'); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - drop_column: { - column: 'col1', - table: 'table1' - } + }, + expectation: [ + { + drop_column: { + column: 'col1', + table: 'table1' } - ]); - }); - test('adding a newly created column and making edit', () => { + } + ] + }, + { + name: 'adding a newly created column and making edit', + fx: () => { editCommand.columnAdditions.push({ ...column, type: 'float' @@ -636,104 +688,102 @@ describe('edits to migrations', () => { nullable: false, unique: true }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col5', - type: 'double precision', - nullable: false, - unique: true, - default: undefined, - references: undefined, - up: '0' - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col5', + type: 'double precision', + nullable: false, + unique: true, + default: undefined, + references: undefined, + up: '0' } } - ]); - }); - test('editing a new column in an existing table removes the column edit, and gets sent in add_column', () => { + } + ] + }, + { + name: 'editing a new column in an existing table removes the column edit, and gets sent in add_column', + fx: () => { editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ ...column, name: 'col2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - add_column: { - table: 'table1', - column: { - name: 'col2', - type: 'text', - nullable: true, - unique: false, - check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' - }, - comment: '{"xata.type":"string"}', - default: undefined, - references: undefined, - up: undefined - } + }, + expectation: [ + { + add_column: { + table: 'table1', + column: { + name: 'col2', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined } } - ]); - }); - }); - - describe('new tables with new columns', () => { - test('deleting a new column deletes all column additions, edits, and deletions', () => { - editCommand.tableAdditions.push({ name: 'table1' }); + } + ] + }, + { + name: 'deleting a new column deletes all column additions, edits, and deletions', + fx: () => { editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ ...column, name: 'col2' }); editCommand.columnDeletions['table1'] = ['col1']; - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [] - } - } - ]); - }); - test('editing a new column in a new table removes the column edit', () => { + }, + expectation: [] + }, + { + name: 'editing a new column in a new table removes the column edit', + fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnAdditions.push(column); editCommand.columnEdits.push({ ...column, name: 'col2' }); - editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); - expect(editCommand.currentMigration.operations).toEqual([ - { - create_table: { - name: 'table1', - columns: [ - { - name: 'col2', - type: 'text', - nullable: true, - unique: false, - check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' - }, - comment: '{"xata.type":"string"}', - default: undefined, - references: undefined - } - ] - } + }, + expectation: [ + { + create_table: { + name: 'table1', + columns: [ + { + name: 'col2', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col2") <= 2048', + name: 'table1_xata_string_length_col2' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined + } + ] } - ]); - }); - }); + } + ] + } +]; + +describe('edits to migrations', () => { + testCases.forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)); }); From 78f0a4895560afc34781012f80a11e3e4349af74 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 16:44:36 +0200 Subject: [PATCH 045/145] clean --- cli/src/commands/schema/edit.ts | 247 +++++++++++++++----------------- 1 file changed, 116 insertions(+), 131 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 384d1d6a4..6b4038cb1 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -86,74 +86,80 @@ export default class EditSchema extends BaseCommand { async showSchemaEdit() { const tableChoices: SelectChoice[] = []; - const schemaChoice: SelectChoice = { - name: { type: 'schema' }, - message: 'Tables', - role: 'heading', - choices: tableChoices - }; + const select = new Select({ + message: 'Schema for database test:main', + initial: this.activeIndex, + choices: [ + { + name: { type: 'schema' }, + message: 'Tables', + role: 'heading', + choices: tableChoices + } + ], + footer: + 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' + }); - const tablesToLoop = [ + for (const table of [ ...this.branchDetails!.schema.tables, ...this.tableAdditions.map((addition) => ({ name: addition.name, columns: [] })) - ]; - for (const table of tablesToLoop) { - const columnChoices: SelectChoice[] = []; + ]) { tableChoices.push({ name: { type: 'edit-table', table: { name: table.name, newName: table.name } }, - message: this.renderTableName(table.name), - choices: columnChoices - }); - const columns = Object.values(table.columns); - const choices: SelectChoice[] = columns - .filter(({ name }) => !isReservedXataFieldName(name)) - .map((column) => { - const col: EditColumnPayload['column'] = { - name: column.name, - unique: column.unique ?? false, - type: column.type, - nullable: column.notNull === true ? false : true, - tableName: table.name, - originalName: column.name, - defaultValue: column.defaultValue ?? undefined, - vector: column.vector ? { dimension: column.vector.dimension } : undefined, - link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, - file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, - 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined - }; - const item: SelectChoice = { + message: this.renderTableMessage(table.name), + choices: [ + ...Object.values(table.columns) + .filter(({ name }) => !isReservedXataFieldName(name)) + .map((column) => { + const col: EditColumnPayload['column'] = { + // todo abstract into function + name: column.name, + unique: column.unique ?? false, + type: column.type, + nullable: column.notNull === true ? false : true, + tableName: table.name, + originalName: column.name, + defaultValue: column.defaultValue ?? undefined, + vector: column.vector ? { dimension: column.vector.dimension } : undefined, + link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, + file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, + 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined + }; + return { + name: { + type: 'edit-column', + column: col + }, + message: this.renderColumnMessage({ column: col }), + disabled: editTableDisabled(table.name, this.tableDeletions) + } as SelectChoice; + }), + ...this.columnAdditions + .filter((addition) => addition.tableName === table.name) + .map((addition) => { + // todo abstract into function + const formatted = { ...addition, tableName: table.name, originalName: addition.name }; + return { + name: { type: 'edit-column', column: formatted }, + message: this.renderColumnMessage({ column: formatted }), + disabled: editTableDisabled(table.name, this.tableDeletions) + } as SelectChoice; + }), + { name: { - type: 'edit-column', - column: col + type: 'add-column', + tableName: table.name, + column: { originalName: '', tableName: table.name, name: '', type: '', unique: false, nullable: true } }, - message: this.renderColumnName({ column: col }), - disabled: editTableDisabled(table.name, this.tableDeletions) - }; - return item; - }); - - const newColumns: SelectChoice[] = []; - for (const addition of this.columnAdditions.filter((addition) => addition.tableName === table.name)) { - const formatted = { ...addition, tableName: table.name, originalName: addition.name }; - newColumns.push({ - name: { type: 'edit-column', column: formatted }, - message: this.renderColumnName({ column: formatted }), - disabled: editTableDisabled(table.name, this.tableDeletions) - }); - } - - columnChoices.push(...choices, ...newColumns, { - name: { - type: 'add-column', - tableName: table.name, - column: { originalName: '', tableName: table.name, name: '', type: 'string', unique: false, nullable: false } - }, - message: `${chalk.green('+')} Add a column`, - disabled: editTableDisabled(table.name, this.tableDeletions), - hint: 'Add a column to a table' + message: `${chalk.green('+')} Add a column`, + disabled: editTableDisabled(table.name, this.tableDeletions), + hint: 'Add a column to a table' + } + ] }); } @@ -170,14 +176,6 @@ export default class EditSchema extends BaseCommand { } ); - const select = new Select({ - message: 'Schema for database test:main', - initial: this.activeIndex, - choices: [schemaChoice], - footer: - 'Use the ↑ ↓ arrows to move across the schema, enter to edit or add things, delete or backspace to delete things.' - }); - select.on('keypress', async (char: string, key: { name: string; action: string }) => { this.activeIndex = select.state.index; const selectedItem = select.state.choices[select.state.index]; @@ -285,48 +283,46 @@ export default class EditSchema extends BaseCommand { } } - renderColumnNameChange({ column }: { column: EditColumnPayload['column'] }) { - const columnEdit = this.columnEdits + renderColumnNameEdited({ column }: { column: EditColumnPayload['column'] }) { + return this.columnEdits .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName); - return columnEdit?.name; + .find(({ originalName: editName }) => editName === column.originalName)?.name; } - renderNullable({ column }: { column: EditColumnPayload['column'] }) { - const columnEdit = this.columnEdits - .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName); - - return columnEdit?.nullable ?? column.nullable; + renderColumnNullable({ column }: { column: EditColumnPayload['column'] }) { + return ( + this.columnEdits + .filter((edit) => edit.tableName === column.tableName) + .find(({ originalName: editName }) => editName === column.originalName)?.nullable ?? column.nullable + ); } - renderUnique({ column }: { column: EditColumnPayload['column'] }) { - const columnEdit = this.columnEdits - .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName); - return columnEdit?.unique ?? column.unique; + renderColumnUnique({ column }: { column: EditColumnPayload['column'] }) { + return ( + this.columnEdits + .filter((edit) => edit.tableName === column.tableName) + .find(({ originalName: editName }) => editName === column.originalName)?.unique ?? column.unique + ); } - renderColumnName({ column }: { column: EditColumnPayload['column'] }) { - const columnEditName = this.renderColumnNameChange({ column }); - const columnDelete = Object.entries(this.columnDeletions) + renderColumnMessage({ column }: { column: EditColumnPayload['column'] }) { + const maybeNewColumnName = this.renderColumnNameEdited({ column }); + const isColumnDeleted = Object.entries(this.columnDeletions) .filter((entry) => entry[0] === column.tableName) .find((entry) => entry[1].includes(column.originalName)); - const tableDelete = this.tableDeletions.find(({ name }) => name === column.tableName); + const isTableDeleted = this.tableDeletions.find(({ name }) => name === column.tableName); const uniqueDisplay = () => { - const currentUniqueValue = this.renderUnique({ column }); - const originalUnique = column.unique; - if (currentUniqueValue !== originalUnique) { + const currentUniqueValue = this.renderColumnUnique({ column }); + if (currentUniqueValue !== column.unique) { return currentUniqueValue ? chalk.green('unique') : chalk.green('not unique'); } return currentUniqueValue ? chalk.gray.italic('unique') : ''; }; const nullableDisplay = () => { - const currentNullableValue = this.renderNullable({ column }); - const originalNullable = column.nullable; - if (currentNullableValue !== originalNullable) { + const currentNullableValue = this.renderColumnNullable({ column }); + if (currentNullableValue !== column.nullable) { return currentNullableValue ? chalk.green('nullable') : chalk.green('not nullable'); } return currentNullableValue ? chalk.gray.italic('nullable') : ''; @@ -341,28 +337,30 @@ export default class EditSchema extends BaseCommand { .filter(Boolean) .join(' '); - if (columnDelete || tableDelete) { + if (isColumnDeleted || isTableDeleted) { return ` - ${chalk.red.strikethrough(column.originalName)} (${metadata})`; } - if (columnEditName && columnEditName !== column.originalName) { - return ` - ${chalk.bold(columnEditName)} -> ${chalk.yellow.strikethrough(column.originalName)} (${metadata})`; + // Checking names are not the same because it is possible only nullable or unique changed + if (maybeNewColumnName && maybeNewColumnName !== column.originalName) { + return ` - ${chalk.bold(maybeNewColumnName)} -> ${chalk.yellow.strikethrough( + column.originalName + )} (${metadata})`; } return `- ${chalk.cyan(column.originalName)} (${metadata})`; } - renderTableNameChange(tableName: string) { - const tableEdit = this.tableEdits.find((edit) => edit.name === tableName); - return tableEdit?.newName; + renderTableNameEdited(tableName: string) { + return this.tableEdits.find((edit) => edit.name === tableName)?.newName; } - renderTableName(originalName: string, newTable: boolean = false) { + renderTableMessage(originalName: string, newTable: boolean = false) { const tableEdit = this.tableEdits.find(({ name }) => name === originalName); const tableDelete = this.tableDeletions.find(({ name }) => name === originalName); if (tableDelete) { return `• ${chalk.red.strikethrough(originalName)}`; } if (tableEdit) { - return `• ${chalk.bold(this.renderTableNameChange(originalName) ?? originalName)} -> ${chalk.yellow.strikethrough( + return `• ${chalk.bold(this.renderTableNameEdited(originalName) ?? originalName)} -> ${chalk.yellow.strikethrough( originalName )}`; } @@ -372,18 +370,6 @@ export default class EditSchema extends BaseCommand { async run(): Promise { const { flags } = await this.parseCommand(); - if (flags.source) { - this.warn( - `This way of editing the schema doesn't detect renames of tables or columns. They are interpreted as deleting/adding tables and columns. -Beware that this can lead to ${chalk.bold( - 'data loss' - )}. Other ways of editing the schema that do not have this limitation are: -* run the command without ${chalk.bold('--source')} -* edit the schema in the Web UI. Use ${chalk.bold('xata browse')} to open the Web UI in your browser.` - ); - this.log(); - } - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch(flags.db, flags.branch); this.workspace = workspace; this.region = region; @@ -413,21 +399,17 @@ Beware that this can lead to ${chalk.bold( } async toggleTableDelete({ initialTableName }: { initialTableName: string }) { - const existingEntry = this.tableDeletions.find(({ name }) => name === initialTableName); - if (existingEntry) { - const index = this.tableDeletions.findIndex(({ name }) => name === initialTableName); - if (index > -1) { - this.tableDeletions.splice(index, 1); - } - } else { - this.tableDeletions.push({ name: initialTableName }); - } + const indexOfExistingEntry = this.tableDeletions.findIndex(({ name }) => name === initialTableName); + indexOfExistingEntry > -1 + ? this.tableDeletions.splice(indexOfExistingEntry, 1) + : this.tableDeletions.push({ name: initialTableName }); } async toggleColumnDelete({ column }: { column: EditColumnPayload['column'] }) { const existingEntry = Object.entries(this.columnDeletions) .filter((entry) => entry[0] === column.tableName) .find((entry) => entry[1].includes(column.originalName)); + // todo simplify if (existingEntry) { const index = existingEntry[1].findIndex((name) => name === column.originalName); if (index > -1) { @@ -442,7 +424,7 @@ Beware that this can lead to ${chalk.bold( } } - existingTableName = (value: string) => { + tableNameAlreadyExists = (value: string) => { return this.branchDetails?.schema.tables.find(({ name }) => name === value) || this.tableEdits.find(({ name }) => name === value) || this.tableAdditions.find(({ name }) => name === value) @@ -450,7 +432,8 @@ Beware that this can lead to ${chalk.bold( : false; }; - existingColumnName = (value: string, column: AddColumnPayload['column']) => { + columnNameAlreadyExists = (value: string, column: AddColumnPayload['column']) => { + // todo simplify return this.branchDetails?.schema.tables .find(({ name }) => name === column.tableName) ?.columns.find(({ name }) => name === value) || @@ -476,16 +459,18 @@ Beware that this can lead to ${chalk.bold( { name: 'name', message: 'The name of the column', - initial: this.renderColumnNameChange({ column }) ?? column.originalName, + initial: this.renderColumnNameEdited({ column }) ?? column.originalName, validate: (value: string, state: ValidationState) => { if (column.originalName === value || value === state.values.name) return true; - return !emptyString(value) && !this.existingColumnName(value, column) && !isReservedXataFieldName(value); + return ( + !emptyString(value) && !this.columnNameAlreadyExists(value, column) && !isReservedXataFieldName(value) + ); } }, { name: 'nullable', message: `Whether the column can be null.`, - initial: this.renderNullable({ column }) ? 'true' : 'false', + initial: this.renderColumnNullable({ column }) ? 'true' : 'false', validate: (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; @@ -495,7 +480,7 @@ Beware that this can lead to ${chalk.bold( // todo abstract into function name: 'unique', message: `Whether the column is unique.`, - initial: this.renderUnique({ column }) ? 'true' : 'false', + initial: this.renderColumnUnique({ column }) ? 'true' : 'false', validate: (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; @@ -574,7 +559,7 @@ Beware that this can lead to ${chalk.bold( validate: (value: string) => { if (value === undefined) return 'Name cannot be undefined'; if (emptyString(value)) return 'Name cannot be empty'; - if (this.existingColumnName(value, column)) return 'Column already exists'; + if (this.columnNameAlreadyExists(value, column)) return 'Column already exists'; return !isReservedXataFieldName(value); } }, @@ -618,7 +603,7 @@ Beware that this can lead to ${chalk.bold( const columnType = state.items.find(({ name }) => name === 'type')?.input; if ((value === undefined || emptyString(value)) && columnType === 'link') return 'Cannot be empty string when the type is link'; - if (columnType === 'link' && !this.existingTableName(value)) return 'Table does not exist'; + if (columnType === 'link' && !this.tableNameAlreadyExists(value)) return 'Table does not exist'; return true; } }, @@ -687,7 +672,7 @@ Beware that this can lead to ${chalk.bold( message: 'The table name', validate: (value: string) => { if (emptyString(value)) return 'Name cannot be empty'; - return !isReservedXataFieldName(value) && !this.existingTableName(value); + return !isReservedXataFieldName(value) && !this.tableNameAlreadyExists(value); } } ], @@ -714,10 +699,10 @@ Beware that this can lead to ${chalk.bold( { name: 'name', message: 'The table name', - initial: this.renderTableNameChange(initialTableName) ?? initialTableName, + initial: this.renderTableNameEdited(initialTableName) ?? initialTableName, validate: (value: string, state: ValidationState) => { if (value === state.values.name) return true; - return !emptyString(value) && !isReservedXataFieldName(value) && !this.existingTableName(value); + return !emptyString(value) && !isReservedXataFieldName(value) && !this.tableNameAlreadyExists(value); } } ], From 02962d037e96b030d4e34829fedd52be13d715d2 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 9 Apr 2024 16:52:21 +0200 Subject: [PATCH 046/145] clean --- cli/src/commands/schema/edit.ts | 61 +++++++++++++++++---------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 6b4038cb1..cce6a75c5 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -312,7 +312,7 @@ export default class EditSchema extends BaseCommand { .find((entry) => entry[1].includes(column.originalName)); const isTableDeleted = this.tableDeletions.find(({ name }) => name === column.tableName); - const uniqueDisplay = () => { + const displayUnique = () => { const currentUniqueValue = this.renderColumnUnique({ column }); if (currentUniqueValue !== column.unique) { return currentUniqueValue ? chalk.green('unique') : chalk.green('not unique'); @@ -320,7 +320,8 @@ export default class EditSchema extends BaseCommand { return currentUniqueValue ? chalk.gray.italic('unique') : ''; }; - const nullableDisplay = () => { + // todo better names, render versus display not obvious + const displayNullable = () => { const currentNullableValue = this.renderColumnNullable({ column }); if (currentNullableValue !== column.nullable) { return currentNullableValue ? chalk.green('nullable') : chalk.green('not nullable'); @@ -330,8 +331,8 @@ export default class EditSchema extends BaseCommand { const metadata = [ `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, - uniqueDisplay(), - nullableDisplay(), + displayUnique(), + displayNullable(), column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' ] .filter(Boolean) @@ -864,31 +865,6 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const augmentColumns = ( - columns: AddColumnPayload['column'][] - ): { column: OpAddColumn['column']; tableName: string }[] => { - return columns.map((column) => ({ - tableName: column.tableName, - column: { - name: column.name, - type: xataColumnTypeToPgRoll(column.type as any), - references: - column.type === 'link' - ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) - : undefined, - default: - column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, - nullable: parseBoolean(String(column.nullable)) ?? true, - unique: parseBoolean(String(column.unique)) ?? false, - check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), - comment: xataColumnTypeToPgRollComment(column as any), - up: requiresUpArgument(column.nullable === false, column.defaultValue) - ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) - : undefined - } - })); - }; - const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { return entry[1].map((e) => { @@ -966,6 +942,32 @@ export const editsToMigrations = (command: EditSchema) => { return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; +// todo add to pgroll file? +const augmentColumns = ( + columns: AddColumnPayload['column'][] +): { column: OpAddColumn['column']; tableName: string }[] => { + return columns.map((column) => ({ + tableName: column.tableName, + column: { + name: column.name, + type: xataColumnTypeToPgRoll(column.type as any), + references: + column.type === 'link' + ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) + : undefined, + default: + column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, + nullable: parseBoolean(String(column.nullable)) ?? true, + unique: parseBoolean(String(column.unique)) ?? false, + check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), + comment: xataColumnTypeToPgRollComment(column as any), + up: requiresUpArgument(column.nullable === false, column.defaultValue) + ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) + : undefined + } + })); +}; + async function waitForMigrationToFinish( api: XataApiClient, workspace: string, @@ -993,6 +995,7 @@ const isReservedXataFieldName = (name: string) => { return name.toLowerCase().startsWith('xata_'); }; +// todo add to helpers file? function parseBoolean(value?: string) { if (!value) return undefined; const val = value.toLowerCase(); From fe1e3549fd0c2f21a3c7f8d278111c7f660e52ad Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 047/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From 7bf14eb854a4277b4afed19d150019908aea31c6 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 048/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From 5820148f80ad183e1abbc99bd1717815f120c1b0 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 049/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 39b47e33a253cc534381201f216a32055c57fc67 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 050/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 ----- packages/client/src/schema/cache.ts | 53 --- packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 -- packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 ------------------ packages/plugin-client-cache/package.json | 33 -- .../plugin-client-cache/rollup.config.mjs | 29 -- packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 -- packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 -------------- .../plugin-client-cloudflare/package.json | 28 -- .../rollup.config.mjs | 29 -- .../plugin-client-cloudflare/src/cache.ts | 88 ---- .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 -- pnpm-lock.yaml | 24 -- test/integration/cache.test.ts | 113 ----- test/utils/setup.ts | 7 +- 27 files changed, 2 insertions(+), 1343 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index deadc8b68..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 8e6a88e85..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240405.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 76535c244..50126e3fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -390,25 +390,6 @@ importers: specifier: ^4.7.2 version: 4.7.2 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240405.0 - version: 4.20240405.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -3156,11 +3137,6 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240405.0: - resolution: - { integrity: sha512-sEVOhyOgXUwfLkgHqbLZa/sfkSYrh7/zLmI6EZNibPaVPvAnAcItbNNl3SAlLyLKuwf8m4wAIAgu9meKWCvXjg== } - dev: false - /@cspotcode/source-map-support@0.8.1: resolution: { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From de8200937ac5627429f13dc2926e02f7d8402d2f Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 051/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From 15db9517fc0f51b2f1145fe0a6f986a467b9e570 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 052/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From dc0c6e6d869ec3f77dddf36fe9d4d72944b87d9c Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 053/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 67a7bd390d0cc249c6c9fdc9ab8431341ed45683 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 054/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 36cf0d71e49c4f10946c7303c1a6c64a8c33ac92 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 055/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From ce39e92e0dae7b041bb55e7d07988439591e9cc2 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 056/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From b0a85c9143c13dd5082810db994a5fede59bb0a4 Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 057/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 543ffb67af3c28f035be66b1a4db5b5b958fe861 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 10:38:48 +0200 Subject: [PATCH 058/145] refactor array to object --- cli/src/commands/schema/edit.test.ts | 63 +++++++----- cli/src/commands/schema/edit.ts | 145 +++++++++++++++------------ cli/src/commands/schema/types.ts | 2 + 3 files changed, 123 insertions(+), 87 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index c7e99c066..4691f3b0e 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -2,6 +2,8 @@ import { beforeEach, expect, test, describe } from 'vitest'; import { AddColumnPayload, AddTablePayload, + ColumnAdditionData, + ColumnData, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -14,7 +16,7 @@ class mockEdit { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; - columnAdditions: AddColumnPayload['column'][] = []; + columnAdditions: ColumnAdditionData = {}; columnEdits: EditColumnPayload['column'][] = []; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; @@ -26,12 +28,19 @@ beforeEach(() => { editCommand.tableAdditions = []; editCommand.tableEdits = []; editCommand.tableDeletions = []; - editCommand.columnAdditions = []; + editCommand.columnAdditions = {}; editCommand.columnEdits = []; editCommand.columnDeletions = {}; editCommand.currentMigration = { operations: [] }; }); +const createAddition = (column: ColumnData) => { + if (!editCommand.columnAdditions[column.tableName]) editCommand.columnAdditions[column.tableName] = {}; + if (!editCommand.columnAdditions[column.tableName][column.originalName]) + editCommand.columnAdditions[column.tableName][column.originalName] = {} as any; + editCommand.columnAdditions[column.tableName][column.originalName] = column; +}; + const column: AddColumnPayload['column'] = { name: 'col1', defaultValue: undefined, @@ -83,7 +92,7 @@ const testCases: TestCase[] = [ { name: 'add column', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); }, expectation: [ { @@ -110,7 +119,7 @@ const testCases: TestCase[] = [ { name: 'add column default', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'int', defaultValue: '10000' @@ -135,7 +144,7 @@ const testCases: TestCase[] = [ { name: 'add column not null', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'int', nullable: false @@ -160,7 +169,7 @@ const testCases: TestCase[] = [ { name: 'add column unique', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'int', unique: true @@ -185,7 +194,7 @@ const testCases: TestCase[] = [ { name: 'add column file', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'file', file: { @@ -213,7 +222,7 @@ const testCases: TestCase[] = [ { name: 'add column file[]', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'file[]', 'file[]': { @@ -241,7 +250,7 @@ const testCases: TestCase[] = [ { name: 'add column vector', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'vector', vector: { @@ -274,7 +283,7 @@ const testCases: TestCase[] = [ { name: 'add link column', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'link', link: { table: 'table2' } @@ -404,7 +413,7 @@ const testCases: TestCase[] = [ { name: 'deleting an existing table deletes all column additions', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.tableDeletions.push({ name: 'table1' }); }, expectation: [{ drop_table: { name: 'table1' } }] @@ -412,9 +421,9 @@ const testCases: TestCase[] = [ { name: 'creating a new column and deleting an existing table', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.columnDeletions['table1'] = ['col1']; - editCommand.columnAdditions.push({ + createAddition({ ...column, originalName: 'col2', name: 'col2' @@ -497,7 +506,7 @@ const testCases: TestCase[] = [ name: 'deleting a new table deletes all column additions', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.tableDeletions.push({ name: 'table1' }); }, expectation: [] @@ -530,7 +539,7 @@ const testCases: TestCase[] = [ name: 'adding a column on a new table with unique = false is sent correctly', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'float', unique: true @@ -559,7 +568,7 @@ const testCases: TestCase[] = [ name: 'adding a column on a new table with nullable = false is sent correctly', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'float', nullable: false @@ -588,7 +597,7 @@ const testCases: TestCase[] = [ name: 'adding a column on a new table with nullable = false is sent correctly', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'float', nullable: false @@ -617,7 +626,7 @@ const testCases: TestCase[] = [ name: 'adding a column on a new table with nullable = true is sent correctly', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'float', nullable: true @@ -645,7 +654,7 @@ const testCases: TestCase[] = [ { name: 'deleting a new column deletes all column additions, edit and deletions', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.columnEdits.push({ ...column, name: 'col2' @@ -658,7 +667,7 @@ const testCases: TestCase[] = [ name: 'deleting a newly created column does not remove other deletes', fx: () => { editCommand.columnDeletions['table1'] = ['col1']; - editCommand.columnAdditions.push({ + createAddition({ ...column, originalName: 'col2', name: 'col3', @@ -678,7 +687,7 @@ const testCases: TestCase[] = [ { name: 'adding a newly created column and making edit', fx: () => { - editCommand.columnAdditions.push({ + createAddition({ ...column, type: 'float' }); @@ -709,7 +718,7 @@ const testCases: TestCase[] = [ { name: 'editing a new column in an existing table removes the column edit, and gets sent in add_column', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.columnEdits.push({ ...column, name: 'col2' @@ -740,7 +749,7 @@ const testCases: TestCase[] = [ { name: 'deleting a new column deletes all column additions, edits, and deletions', fx: () => { - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.columnEdits.push({ ...column, name: 'col2' @@ -753,7 +762,7 @@ const testCases: TestCase[] = [ name: 'editing a new column in a new table removes the column edit', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnAdditions.push(column); + createAddition(column); editCommand.columnEdits.push({ ...column, name: 'col2' @@ -785,5 +794,9 @@ const testCases: TestCase[] = [ ]; describe('edits to migrations', () => { - testCases.forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)); + const testWithOnly = testCases.some(({ only }) => only); + testWithOnly + ? testCases.filter(({ only }) => only).forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)) + : null; + !testWithOnly ? testCases.forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)) : null; }); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index cce6a75c5..1b129910d 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -16,6 +16,7 @@ import enquirer from 'enquirer'; import { AddColumnPayload, AddTablePayload, + ColumnAdditionData, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -76,7 +77,7 @@ export default class EditSchema extends BaseCommand { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; - columnAdditions: AddColumnPayload['column'][] = []; + columnAdditions: ColumnAdditionData = {}; columnEdits: EditColumnPayload['column'][] = []; columnDeletions: DeleteColumnPayload = {}; @@ -138,17 +139,14 @@ export default class EditSchema extends BaseCommand { disabled: editTableDisabled(table.name, this.tableDeletions) } as SelectChoice; }), - ...this.columnAdditions - .filter((addition) => addition.tableName === table.name) - .map((addition) => { - // todo abstract into function - const formatted = { ...addition, tableName: table.name, originalName: addition.name }; - return { - name: { type: 'edit-column', column: formatted }, - message: this.renderColumnMessage({ column: formatted }), - disabled: editTableDisabled(table.name, this.tableDeletions) - } as SelectChoice; - }), + ...Object.values(this.columnAdditions[table.name] ?? []).map((column) => { + const formatted = { ...column, tableName: table.name, originalName: column.name }; + return { + name: { type: 'edit-column', column: formatted }, + message: this.renderColumnMessage({ column: formatted }), + disabled: editTableDisabled(table.name, this.tableDeletions) + } as SelectChoice; + }), { name: { type: 'add-column', @@ -439,7 +437,7 @@ export default class EditSchema extends BaseCommand { .find(({ name }) => name === column.tableName) ?.columns.find(({ name }) => name === value) || this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || - this.columnAdditions.find(({ name, tableName }) => tableName === column.tableName && name === value) + this.columnAdditions?.[column.tableName]?.[value] ? true : false; }; @@ -635,8 +633,11 @@ export default class EditSchema extends BaseCommand { }); try { const { values } = await snippet.run(); + if (!this.columnAdditions[tableName]) this.columnAdditions[tableName] = {}; + if (!this.columnAdditions[tableName][column.originalName]) + this.columnAdditions[tableName][column.originalName] = {} as any; - this.columnAdditions.push({ + this.columnAdditions[tableName][column.originalName] = { tableName, originalName: values.name, name: values.name, @@ -654,7 +655,7 @@ export default class EditSchema extends BaseCommand { values.type === 'file[]' && values.defaultPublicAccess ? { defaultPublicAccess: values.defaultPublicAccess } : undefined - }); + }; await this.showSchemaEdit(); } catch (err) { @@ -765,27 +766,32 @@ export const editsToMigrations = (command: EditSchema) => { ]; let localTableEdits: EditTablePayload['table'][] = [...command.tableEdits]; let localTableDeletions: DeleteTablePayload[] = [...command.tableDeletions]; - let localColumnAdditions: AddColumnPayload['column'][] = [...command.columnAdditions]; + const localColumnAdditions: ColumnAdditionData = JSON.parse(JSON.stringify(command.columnAdditions)); let localColumnEdits: EditColumnPayload['column'][] = [...command.columnEdits]; let localColumnDeletions: DeleteColumnPayload = Object.assign({}, command.columnDeletions); - const tmpColumnAddition = [...localColumnAdditions]; - localColumnAdditions = localColumnAdditions.filter( - (addition) => !localColumnDeletions[addition.tableName]?.includes(addition.originalName) - ); + const tmpColumnAddition = JSON.parse(JSON.stringify(localColumnAdditions)); + for (const [tableName, columns] of Object.entries(localColumnAdditions)) { + // if column was deleted then remove it from columns to be added + for (const [columnName, _] of Object.entries(columns)) { + const columnWasDeleted = localColumnDeletions[tableName]?.includes(columnName); + if (columnWasDeleted) { + delete localColumnAdditions[tableName][columnName]; + } + } + } localColumnEdits = localColumnEdits.filter( (edit) => !localColumnDeletions[edit.tableName]?.includes(edit.originalName) ); + // remove column deletion if column is also being added for (const [tableName, columns] of Object.entries(localColumnDeletions)) { - const columnWasAdded = tmpColumnAddition.filter( - (addition) => addition.tableName === tableName && columns.includes(addition.originalName) - ); - if (columnWasAdded) { - localColumnDeletions[tableName] = localColumnDeletions[tableName].filter((col) => { - return !tmpColumnAddition.some((addition) => addition.tableName === tableName && addition.originalName === col); - }); + for (const columnName of columns) { + const columnWasAdded = tmpColumnAddition[tableName]?.[columnName]; + if (columnWasAdded) { + localColumnDeletions[tableName] = localColumnDeletions[tableName].filter((col) => col !== columnName); + } } } @@ -798,7 +804,11 @@ export const editsToMigrations = (command: EditSchema) => { localTableEdits = localTableEdits.filter(({ name }) => !isTableDeleted(name)); // Remove column edits, additions and deletions for tables that are deleted - localColumnAdditions = localColumnAdditions.filter(({ tableName }) => !isTableDeleted(tableName)); + for (const [tableName, _] of Object.entries(localColumnAdditions)) { + if (isTableDeleted(tableName)) { + delete localColumnAdditions[tableName]; + } + } localColumnEdits = localColumnEdits.filter(({ tableName }) => !isTableDeleted(tableName)); localColumnDeletions = Object.fromEntries( Object.entries(localColumnDeletions).filter(([tableName]) => !isTableDeleted(tableName)) @@ -825,40 +835,48 @@ export const editsToMigrations = (command: EditSchema) => { }); // bundle edit columns into new columns - const editsToNewColumn = localColumnEdits.filter(({ originalName }) => - localColumnAdditions.find((addition) => addition.name === originalName) + const editsToNewColumn = localColumnEdits.filter( + ({ originalName, tableName }) => localColumnAdditions[tableName]?.[originalName] ); localColumnEdits = localColumnEdits.filter( ({ originalName }) => !editsToNewColumn.find((edit) => edit.originalName === originalName) ); - localColumnAdditions = localColumnAdditions.map((addition) => { - const edit = editsToNewColumn.find(({ originalName }) => originalName === addition.name); - if (edit) { - const augmentedEdit = { - ...addition, - tableName: edit.tableName, - name: edit.name, - unique: edit.unique ?? false, - nullable: edit.nullable ?? true - }; - return augmentedEdit; + + for (const [tableName, columns] of Object.entries(localColumnAdditions)) { + for (const [columnName, column] of Object.entries(columns)) { + const edit = editsToNewColumn.find( + ({ originalName, tableName }) => originalName === columnName && tableName === tableName + ); + if (edit) { + if (!localColumnAdditions[tableName]) localColumnAdditions[tableName] = {}; + if (!localColumnAdditions[tableName][columnName]) localColumnAdditions[tableName][columnName] = {} as any; + localColumnAdditions[tableName][columnName] = { + ...column, + name: edit.name, + unique: edit.unique ?? false, + nullable: edit.nullable ?? true + }; + } } - return addition; - }); + } // bundle new columns into create_tables - const columnAdditionsToNewTables = localColumnAdditions.filter(({ tableName }) => - localTableAdditions.find(({ name }) => name === tableName) - ); - localColumnAdditions = localColumnAdditions.filter( - ({ tableName }) => !columnAdditionsToNewTables.find((addition) => addition.tableName === tableName) - ); + const columnAdditionsToNewTables = localTableAdditions.map((addition) => { + return { + tableName: addition.name, + columns: Object.values(localColumnAdditions?.[addition.name] ?? []).map((column) => column) + }; + }); + + // remove the column additions + for (const addition of localTableAdditions) { + localColumnAdditions[addition.name] = {}; + } + localTableAdditions = localTableAdditions.map((addition) => { const columns = columnAdditionsToNewTables .filter((column) => column.tableName === addition.name) - .map((column) => { - return column as AddColumnPayload['column']; - }); + .flatMap(({ columns }) => columns); return { ...addition, columns: columns @@ -886,16 +904,19 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const columnAdditions: { add_column: OpAddColumn }[] = augmentColumns(localColumnAdditions).map( - ({ column, tableName }) => { - return { - add_column: { - column, - table: tableName - } - }; - } - ); + const columnAdditions: { add_column: OpAddColumn }[] = []; + for (const [_, columns] of Object.entries(localColumnAdditions)) { + columnAdditions.push( + ...augmentColumns(Object.values(columns)).map(({ column, tableName }) => { + return { + add_column: { + column, + table: tableName + } + }; + }) + ); + } const tableAdditions: { create_table: OpCreateTable }[] = localTableAdditions.map(({ name, columns }) => { return { diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index f948fbbe0..a3654a5fd 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -41,6 +41,8 @@ export type AddColumnPayload = { column: ColumnData; }; +export type ColumnAdditionData = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; + export type EditColumnPayload = { type: 'edit-column'; column: ColumnData; From 468fcf0d721e076ad1b62742c1064e30947f80e3 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 13:17:33 +0200 Subject: [PATCH 059/145] refactor array to object --- cli/src/commands/schema/edit.test.ts | 74 ++++++-- cli/src/commands/schema/edit.ts | 246 ++++++++++++--------------- cli/src/commands/schema/types.ts | 2 + 3 files changed, 171 insertions(+), 151 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 4691f3b0e..f90bd71f2 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -4,9 +4,9 @@ import { AddTablePayload, ColumnAdditionData, ColumnData, + ColumnEditData, DeleteColumnPayload, DeleteTablePayload, - EditColumnPayload, EditTablePayload } from './types'; import { PgRollMigration } from '@xata.io/pgroll'; @@ -17,7 +17,7 @@ class mockEdit { tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; columnAdditions: ColumnAdditionData = {}; - columnEdits: EditColumnPayload['column'][] = []; + columnEdits: ColumnEditData = {}; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; } @@ -29,7 +29,7 @@ beforeEach(() => { editCommand.tableEdits = []; editCommand.tableDeletions = []; editCommand.columnAdditions = {}; - editCommand.columnEdits = []; + editCommand.columnEdits = {}; editCommand.columnDeletions = {}; editCommand.currentMigration = { operations: [] }; }); @@ -41,6 +41,13 @@ const createAddition = (column: ColumnData) => { editCommand.columnAdditions[column.tableName][column.originalName] = column; }; +const createEdit = (column: ColumnData) => { + if (!editCommand.columnEdits[column.tableName]) editCommand.columnEdits[column.tableName] = {}; + if (!editCommand.columnEdits[column.tableName][column.originalName]) + editCommand.columnEdits[column.tableName][column.originalName] = {} as any; + editCommand.columnEdits[column.tableName][column.originalName] = column; +}; + const column: AddColumnPayload['column'] = { name: 'col1', defaultValue: undefined, @@ -315,7 +322,7 @@ const testCases: TestCase[] = [ { name: 'edit column', fx: () => { - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -338,7 +345,7 @@ const testCases: TestCase[] = [ { name: 'edit column nullable to not nullable', fx: () => { - editCommand.columnEdits.push({ + createEdit({ ...column, nullable: false }); @@ -360,7 +367,7 @@ const testCases: TestCase[] = [ { name: 'edit column not unique to unique', fx: () => { - editCommand.columnEdits.push({ + createEdit({ ...column, unique: true }); @@ -394,7 +401,7 @@ const testCases: TestCase[] = [ { name: 'deleting an existing table deletes all column edits', fx: () => { - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -454,7 +461,7 @@ const testCases: TestCase[] = [ { name: 'deleting an existing column deletes all column edits', fx: () => { - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -483,7 +490,7 @@ const testCases: TestCase[] = [ name: 'deleting a new table deletes all column edits', fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -655,7 +662,7 @@ const testCases: TestCase[] = [ name: 'deleting a new column deletes all column additions, edit and deletions', fx: () => { createAddition(column); - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -691,19 +698,27 @@ const testCases: TestCase[] = [ ...column, type: 'float' }); - editCommand.columnEdits.push({ + createEdit({ ...column, + type: 'float', name: 'col5', nullable: false, unique: true }); + createEdit({ + ...column, + type: 'float', + name: 'col6', + nullable: false, + unique: true + }); }, expectation: [ { add_column: { table: 'table1', column: { - name: 'col5', + name: 'col6', type: 'double precision', nullable: false, unique: true, @@ -719,7 +734,7 @@ const testCases: TestCase[] = [ name: 'editing a new column in an existing table removes the column edit, and gets sent in add_column', fx: () => { createAddition(column); - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -750,7 +765,7 @@ const testCases: TestCase[] = [ name: 'deleting a new column deletes all column additions, edits, and deletions', fx: () => { createAddition(column); - editCommand.columnEdits.push({ + createEdit({ ...column, name: 'col2' }); @@ -763,10 +778,19 @@ const testCases: TestCase[] = [ fx: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition(column); - editCommand.columnEdits.push({ + createAddition({ + ...column, + name: 'col8', + originalName: 'col8' + }); + createEdit({ ...column, name: 'col2' }); + createEdit({ + ...column, + name: 'col3' + }); }, expectation: [ { @@ -774,17 +798,31 @@ const testCases: TestCase[] = [ name: 'table1', columns: [ { - name: 'col2', + name: 'col3', type: 'text', nullable: true, unique: false, check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' + constraint: 'LENGTH("col3") <= 2048', + name: 'table1_xata_string_length_col3' }, comment: '{"xata.type":"string"}', default: undefined, references: undefined + }, + { + name: 'col8', + type: 'text', + nullable: true, + unique: false, + check: { + constraint: 'LENGTH("col8") <= 2048', + name: 'table1_xata_string_length_col8' + }, + comment: '{"xata.type":"string"}', + default: undefined, + references: undefined, + up: undefined } ] } diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 1b129910d..84654399a 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -17,6 +17,7 @@ import { AddColumnPayload, AddTablePayload, ColumnAdditionData, + ColumnEditData, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -77,8 +78,8 @@ export default class EditSchema extends BaseCommand { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; + columnEdits: ColumnEditData = {}; columnAdditions: ColumnAdditionData = {}; - columnEdits: EditColumnPayload['column'][] = []; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; @@ -282,25 +283,15 @@ export default class EditSchema extends BaseCommand { } renderColumnNameEdited({ column }: { column: EditColumnPayload['column'] }) { - return this.columnEdits - .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName)?.name; + return this.columnEdits[column.tableName]?.[column.originalName]?.name; } renderColumnNullable({ column }: { column: EditColumnPayload['column'] }) { - return ( - this.columnEdits - .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName)?.nullable ?? column.nullable - ); + return this.columnEdits[column.tableName]?.[column.originalName]?.nullable ?? column.nullable; } renderColumnUnique({ column }: { column: EditColumnPayload['column'] }) { - return ( - this.columnEdits - .filter((edit) => edit.tableName === column.tableName) - .find(({ originalName: editName }) => editName === column.originalName)?.unique ?? column.unique - ); + return this.columnEdits[column.tableName]?.[column.originalName]?.unique ?? column.unique; } renderColumnMessage({ column }: { column: EditColumnPayload['column'] }) { @@ -436,7 +427,7 @@ export default class EditSchema extends BaseCommand { return this.branchDetails?.schema.tables .find(({ name }) => name === column.tableName) ?.columns.find(({ name }) => name === value) || - this.columnEdits.find(({ name, tableName }) => tableName === column.tableName && name === value) || + this.columnEdits?.[column.tableName]?.[value] || this.columnAdditions?.[column.tableName]?.[value] ? true : false; @@ -492,36 +483,32 @@ export default class EditSchema extends BaseCommand { try { const { values } = await snippet.run(); - const existingEntry = this.columnEdits.find( - ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName - ); + const existingEntry = this.columnEdits[column.tableName]?.[column.originalName]; const unchanged = column.name === values.name && column.nullable === parseBoolean(values.nullable) && column.unique === parseBoolean(values.unique); - if (unchanged) { - const index = this.columnEdits.findIndex( - ({ originalName, tableName }) => tableName === column.tableName && originalName === column.originalName - ); - if (index > -1) { - this.columnEdits.splice(index, 1); - } - } else if (existingEntry) { + if (unchanged && existingEntry) { + delete this.columnEdits[column.tableName][column.originalName]; + } else if (!unchanged && existingEntry) { existingEntry.name = values.name; existingEntry.nullable = parseBoolean(values.nullable) ?? true; existingEntry.unique = parseBoolean(values.unique) ?? false; } else { - this.columnEdits.push({ + if (!this.columnEdits[column.tableName]) this.columnEdits[column.tableName] = {}; + if (!this.columnEdits[column.tableName][column.originalName]) + this.columnEdits[column.tableName][column.originalName] = {} as any; + this.columnEdits[column.tableName][column.originalName] = { name: values.name, - defaultValue: column.defaultValue, - type: column.type, nullable: parseBoolean(values.nullable) ?? true, unique: parseBoolean(values.unique) ?? false, + type: column.type, + defaultValue: column.defaultValue, originalName: column.originalName, tableName: column.tableName - }); + }; } await this.showSchemaEdit(); } catch (err) { @@ -634,10 +621,8 @@ export default class EditSchema extends BaseCommand { try { const { values } = await snippet.run(); if (!this.columnAdditions[tableName]) this.columnAdditions[tableName] = {}; - if (!this.columnAdditions[tableName][column.originalName]) - this.columnAdditions[tableName][column.originalName] = {} as any; - - this.columnAdditions[tableName][column.originalName] = { + if (!this.columnAdditions[tableName][values.name]) this.columnAdditions[tableName][values.name] = {} as any; + this.columnAdditions[tableName][values.name] = { tableName, originalName: values.name, name: values.name, @@ -761,61 +746,55 @@ const createSpace = (): SelectChoice => { export const editsToMigrations = (command: EditSchema) => { // Duplicating here because if we remove items from class state they dont show on UI - let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = [ - ...command.tableAdditions - ]; - let localTableEdits: EditTablePayload['table'][] = [...command.tableEdits]; - let localTableDeletions: DeleteTablePayload[] = [...command.tableDeletions]; + // todo better way to deep copy? If not surround with try catch + + let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = JSON.parse( + JSON.stringify(command.tableAdditions) + ); + let localTableEdits: EditTablePayload['table'][] = JSON.parse(JSON.stringify(command.tableEdits)); + let localTableDeletions: DeleteTablePayload[] = JSON.parse(JSON.stringify(command.tableDeletions)); const localColumnAdditions: ColumnAdditionData = JSON.parse(JSON.stringify(command.columnAdditions)); - let localColumnEdits: EditColumnPayload['column'][] = [...command.columnEdits]; - let localColumnDeletions: DeleteColumnPayload = Object.assign({}, command.columnDeletions); + const localColumnEdits: ColumnEditData = JSON.parse(JSON.stringify(command.columnEdits)); + const localColumnDeletions: DeleteColumnPayload = JSON.parse(JSON.stringify(command.columnDeletions)); - const tmpColumnAddition = JSON.parse(JSON.stringify(localColumnAdditions)); - for (const [tableName, columns] of Object.entries(localColumnAdditions)) { - // if column was deleted then remove it from columns to be added - for (const [columnName, _] of Object.entries(columns)) { - const columnWasDeleted = localColumnDeletions[tableName]?.includes(columnName); - if (columnWasDeleted) { - delete localColumnAdditions[tableName][columnName]; - } + const isTableDeleted = (name: string) => { + return localTableDeletions.find(({ name: tableName }) => tableName === name); + }; + + // Remove column edits, additions and deletions for tables that are deleted + for (const [tableName, _] of Object.entries({ + ...localColumnAdditions, + ...localColumnEdits, + ...localColumnDeletions + })) { + if (isTableDeleted(tableName)) { + delete localColumnAdditions[tableName]; + delete localColumnEdits[tableName]; + delete localColumnDeletions[tableName]; } } - localColumnEdits = localColumnEdits.filter( - (edit) => !localColumnDeletions[edit.tableName]?.includes(edit.originalName) - ); - - // remove column deletion if column is also being added + // if column was deleted then remove edits, and additions and deletions if new for (const [tableName, columns] of Object.entries(localColumnDeletions)) { for (const columnName of columns) { - const columnWasAdded = tmpColumnAddition[tableName]?.[columnName]; + const columnWasEdited = localColumnEdits[tableName]?.[columnName]; + if (columnWasEdited) { + // remove the edit + delete localColumnEdits[tableName][columnName]; + } + const columnWasAdded = localColumnAdditions[tableName]?.[columnName]; if (columnWasAdded) { + // remove deletions localColumnDeletions[tableName] = localColumnDeletions[tableName].filter((col) => col !== columnName); + // remove the addition + delete localColumnAdditions[tableName][columnName]; } } } - const isTableDeleted = (name: string) => { - return localTableDeletions.find(({ name: tableName }) => tableName === name); - }; - - // Remove table edits, additions for tables that are deleted + // Remove table edits, additions and deletions for tables that are newly added and also deleted localTableAdditions = localTableAdditions.filter(({ name }) => !isTableDeleted(name)); localTableEdits = localTableEdits.filter(({ name }) => !isTableDeleted(name)); - - // Remove column edits, additions and deletions for tables that are deleted - for (const [tableName, _] of Object.entries(localColumnAdditions)) { - if (isTableDeleted(tableName)) { - delete localColumnAdditions[tableName]; - } - } - localColumnEdits = localColumnEdits.filter(({ tableName }) => !isTableDeleted(tableName)); - localColumnDeletions = Object.fromEntries( - Object.entries(localColumnDeletions).filter(([tableName]) => !isTableDeleted(tableName)) - ); - - // Remove the table deletion if the table is new - // checking table additions unfiltered because the deleted tables have already been removed localTableDeletions = localTableDeletions.filter( ({ name }) => !command.tableAdditions.find((addition) => addition.name === name) ); @@ -835,53 +814,50 @@ export const editsToMigrations = (command: EditSchema) => { }); // bundle edit columns into new columns - const editsToNewColumn = localColumnEdits.filter( - ({ originalName, tableName }) => localColumnAdditions[tableName]?.[originalName] - ); - localColumnEdits = localColumnEdits.filter( - ({ originalName }) => !editsToNewColumn.find((edit) => edit.originalName === originalName) - ); - - for (const [tableName, columns] of Object.entries(localColumnAdditions)) { + for (const [tableName, columns] of Object.entries(localColumnEdits)) { + // TODO multiple edits are not being bundled into one for (const [columnName, column] of Object.entries(columns)) { - const edit = editsToNewColumn.find( - ({ originalName, tableName }) => originalName === columnName && tableName === tableName - ); - if (edit) { - if (!localColumnAdditions[tableName]) localColumnAdditions[tableName] = {}; - if (!localColumnAdditions[tableName][columnName]) localColumnAdditions[tableName][columnName] = {} as any; + const columnIsNew = localColumnAdditions[tableName]?.[columnName]; + if (columnIsNew) { + // add to column additions localColumnAdditions[tableName][columnName] = { ...column, - name: edit.name, - unique: edit.unique ?? false, - nullable: edit.nullable ?? true + name: column.name, + unique: column.unique ?? false, + nullable: column.nullable ?? true }; + // delete column from edits + delete localColumnEdits[tableName][columnName]; + if (Object.keys(localColumnEdits[tableName]).length === 0) { + delete localColumnEdits[tableName]; + } } } } - // bundle new columns into create_tables - const columnAdditionsToNewTables = localTableAdditions.map((addition) => { - return { - tableName: addition.name, - columns: Object.values(localColumnAdditions?.[addition.name] ?? []).map((column) => column) - }; - }); + // console.log("are edits bundled into one", localColumnEdits) + // bundle new columns into new tables + for (const [tableName, columns] of Object.entries(localColumnAdditions)) { + console.log('columns in localColumn additions', tableName, columns); + const tableIsNew = localTableAdditions.find((addition) => addition.name === tableName); + if (tableIsNew) { + for (const [columnName, column] of Object.entries(columns)) { + const localTableAddition = localTableAdditions.find((addition) => addition.name === tableName); + console.log('local table edition', localTableAddition); + if (localTableAddition) { + if (!localTableAddition?.columns) localTableAddition.columns = []; + // add to table additions + localTableAddition?.columns.push(column); + console.log('pushign column into tableaddition', column, localTableAddition); + } - // remove the column additions - for (const addition of localTableAdditions) { - localColumnAdditions[addition.name] = {}; + // delete from column additions + delete localColumnAdditions[tableName][columnName]; + } + delete localColumnAdditions[tableName]; + } } - - localTableAdditions = localTableAdditions.map((addition) => { - const columns = columnAdditionsToNewTables - .filter((column) => column.tableName === addition.name) - .flatMap(({ columns }) => columns); - return { - ...addition, - columns: columns - }; - }); + // console.log("local column additions", localTableAdditions) const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { @@ -936,29 +912,33 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const columnEdits: { alter_column: OpAlterColumn }[] = localColumnEdits.map( - ({ originalName, tableName, name, nullable, unique, type, link }) => { - const edit: { alter_column: OpAlterColumn } = { - alter_column: { - column: originalName, - table: tableName, - nullable, - unique: !unique - ? undefined - : { - name: `unique_constraint_${tableName}_${name}` - }, - name, - references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, - // todo if just a rename, no up and down required - // todo if notnull changes - notNullUpValue needs to be called - up: `"${name}"`, - down: `"${name}"` - } - }; - return edit; + const columnEdits: { alter_column: OpAlterColumn }[] = []; + for (const [_, columns] of Object.entries(localColumnEdits)) { + for (const [_, data] of Object.entries(columns)) { + const { name, nullable, unique, type, link, originalName } = data; + const cols = augmentColumns([data]).map(({ column, tableName }) => { + return { + alter_column: { + column: originalName, + table: tableName, + nullable, + unique: !unique + ? undefined + : { + name: `unique_constraint_${tableName}_${name}` + }, + name, + references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, + // todo if just a rename, no up and down required + // todo if notnull changes - notNullUpValue needs to be called + up: `"${name}"`, + down: `"${name}"` + } + }; + }); + columnEdits.push(...cols); } - ); + } return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index a3654a5fd..7b125f4a4 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -48,6 +48,8 @@ export type EditColumnPayload = { column: ColumnData; }; +export type ColumnEditData = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; + export type FormatPayload = { type: 'space' | 'migrate' | 'schema'; }; From 66225a14c24118d3806c73efb0a092acd60f6205 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 13:18:35 +0200 Subject: [PATCH 060/145] clean --- cli/src/commands/schema/edit.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 84654399a..769ae7bcb 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -835,29 +835,23 @@ export const editsToMigrations = (command: EditSchema) => { } } - // console.log("are edits bundled into one", localColumnEdits) // bundle new columns into new tables for (const [tableName, columns] of Object.entries(localColumnAdditions)) { - console.log('columns in localColumn additions', tableName, columns); const tableIsNew = localTableAdditions.find((addition) => addition.name === tableName); if (tableIsNew) { for (const [columnName, column] of Object.entries(columns)) { const localTableAddition = localTableAdditions.find((addition) => addition.name === tableName); - console.log('local table edition', localTableAddition); if (localTableAddition) { if (!localTableAddition?.columns) localTableAddition.columns = []; // add to table additions localTableAddition?.columns.push(column); - console.log('pushign column into tableaddition', column, localTableAddition); } - // delete from column additions delete localColumnAdditions[tableName][columnName]; } delete localColumnAdditions[tableName]; } } - // console.log("local column additions", localTableAdditions) const columnDeletions: { drop_column: OpDropColumn }[] = Object.entries(localColumnDeletions) .map((entry) => { From cb121f1c0d545e3c2f3d7cd5caf8a4ad165e26e5 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 14:48:32 +0200 Subject: [PATCH 061/145] clean --- cli/src/commands/schema/edit.ts | 202 ++++++++++++------------------- cli/src/commands/schema/types.ts | 16 +-- cli/src/migrations/pgroll.ts | 25 +++- 3 files changed, 111 insertions(+), 132 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 769ae7bcb..0f97a1793 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -1,6 +1,6 @@ import { BaseCommand } from '../../base.js'; import { Flags } from '@oclif/core'; -import { Schemas, XataApiClient } from '@xata.io/client'; +import { Schemas } from '@xata.io/client'; import { OpAddColumn, OpAlterColumn, @@ -16,8 +16,8 @@ import enquirer from 'enquirer'; import { AddColumnPayload, AddTablePayload, - ColumnAdditionData, - ColumnEditData, + ColumnAdditions, + ColumnEdits, DeleteColumnPayload, DeleteTablePayload, EditColumnPayload, @@ -30,6 +30,7 @@ import { generateLinkReference, getBranchDetailsWithPgRoll, requiresUpArgument, + waitForMigrationToFinish, xataColumnTypeToPgRoll, xataColumnTypeToPgRollComment, xataColumnTypeToPgRollConstraint, @@ -78,8 +79,9 @@ export default class EditSchema extends BaseCommand { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; - columnEdits: ColumnEditData = {}; - columnAdditions: ColumnAdditionData = {}; + + columnEdits: ColumnEdits = {}; + columnAdditions: ColumnAdditions = {}; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; @@ -117,20 +119,7 @@ export default class EditSchema extends BaseCommand { ...Object.values(table.columns) .filter(({ name }) => !isReservedXataFieldName(name)) .map((column) => { - const col: EditColumnPayload['column'] = { - // todo abstract into function - name: column.name, - unique: column.unique ?? false, - type: column.type, - nullable: column.notNull === true ? false : true, - tableName: table.name, - originalName: column.name, - defaultValue: column.defaultValue ?? undefined, - vector: column.vector ? { dimension: column.vector.dimension } : undefined, - link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, - file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, - 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined - }; + const col = columnToPgroll({ column, tableName: table.name }); return { name: { type: 'edit-column', @@ -202,25 +191,22 @@ export default class EditSchema extends BaseCommand { try { const result: SelectChoice['name'] = await select.run(); + await select.cancel(); if (result.type === 'add-table') { - await select.cancel(); await this.showAddTable(result.table); } else if (result.type === 'edit-column') { - await select.cancel(); if (editColumnDisabled(result.column, this.columnDeletions)) { await this.showSchemaEdit(); } else { await this.showColumnEdit(result.column); } } else if (result.type === 'edit-table') { - await select.cancel(); if (editTableDisabled(result.table.name, this.tableDeletions)) { await this.showSchemaEdit(); } else { await this.showTableEdit({ initialTableName: result.table.name }); } } else if (result.type === 'add-column') { - await select.cancel(); await this.showAddColumn(result); } else if (result.type === 'migrate') { await this.migrate(); @@ -282,36 +268,35 @@ export default class EditSchema extends BaseCommand { } } - renderColumnNameEdited({ column }: { column: EditColumnPayload['column'] }) { + getColumnNameEdit({ column }: { column: EditColumnPayload['column'] }) { return this.columnEdits[column.tableName]?.[column.originalName]?.name; } - renderColumnNullable({ column }: { column: EditColumnPayload['column'] }) { + getColumnNullable({ column }: { column: EditColumnPayload['column'] }) { return this.columnEdits[column.tableName]?.[column.originalName]?.nullable ?? column.nullable; } - renderColumnUnique({ column }: { column: EditColumnPayload['column'] }) { + getColumnUnique({ column }: { column: EditColumnPayload['column'] }) { return this.columnEdits[column.tableName]?.[column.originalName]?.unique ?? column.unique; } renderColumnMessage({ column }: { column: EditColumnPayload['column'] }) { - const maybeNewColumnName = this.renderColumnNameEdited({ column }); + const maybeNewColumnName = this.getColumnNameEdit({ column }); const isColumnDeleted = Object.entries(this.columnDeletions) .filter((entry) => entry[0] === column.tableName) .find((entry) => entry[1].includes(column.originalName)); const isTableDeleted = this.tableDeletions.find(({ name }) => name === column.tableName); - const displayUnique = () => { - const currentUniqueValue = this.renderColumnUnique({ column }); + const unique = () => { + const currentUniqueValue = this.getColumnUnique({ column }); if (currentUniqueValue !== column.unique) { return currentUniqueValue ? chalk.green('unique') : chalk.green('not unique'); } return currentUniqueValue ? chalk.gray.italic('unique') : ''; }; - // todo better names, render versus display not obvious - const displayNullable = () => { - const currentNullableValue = this.renderColumnNullable({ column }); + const nullable = () => { + const currentNullableValue = this.getColumnNullable({ column }); if (currentNullableValue !== column.nullable) { return currentNullableValue ? chalk.green('nullable') : chalk.green('not nullable'); } @@ -320,8 +305,8 @@ export default class EditSchema extends BaseCommand { const metadata = [ `${chalk.gray.italic(column.type)}${column.type === 'link' ? ` → ${chalk.gray.italic(column.link?.table)}` : ''}`, - displayUnique(), - displayNullable(), + unique(), + nullable(), column.defaultValue ? chalk.gray.italic(`default: ${column.defaultValue}`) : '' ] .filter(Boolean) @@ -396,21 +381,15 @@ export default class EditSchema extends BaseCommand { } async toggleColumnDelete({ column }: { column: EditColumnPayload['column'] }) { - const existingEntry = Object.entries(this.columnDeletions) - .filter((entry) => entry[0] === column.tableName) - .find((entry) => entry[1].includes(column.originalName)); - // todo simplify - if (existingEntry) { - const index = existingEntry[1].findIndex((name) => name === column.originalName); - if (index > -1) { - this.columnDeletions[column.tableName].splice(index, 1); - } + const existingEntryIndex = this.columnDeletions[column.tableName]?.findIndex( + (name) => name === column.originalName + ); + if (existingEntryIndex > -1) { + this.columnDeletions[column.tableName].splice(existingEntryIndex, 1); } else { - if (!this.columnDeletions[column.tableName]) { - this.columnDeletions[column.tableName] = [column.originalName]; - } else { - this.columnDeletions[column.tableName].push(column.originalName); - } + !this.columnDeletions[column.tableName] + ? (this.columnDeletions[column.tableName] = [column.originalName]) + : this.columnDeletions[column.tableName].push(column.originalName); } } @@ -423,7 +402,6 @@ export default class EditSchema extends BaseCommand { }; columnNameAlreadyExists = (value: string, column: AddColumnPayload['column']) => { - // todo simplify return this.branchDetails?.schema.tables .find(({ name }) => name === column.tableName) ?.columns.find(({ name }) => name === value) || @@ -449,7 +427,7 @@ export default class EditSchema extends BaseCommand { { name: 'name', message: 'The name of the column', - initial: this.renderColumnNameEdited({ column }) ?? column.originalName, + initial: this.getColumnNameEdit({ column }) ?? column.originalName, validate: (value: string, state: ValidationState) => { if (column.originalName === value || value === state.values.name) return true; return ( @@ -460,17 +438,16 @@ export default class EditSchema extends BaseCommand { { name: 'nullable', message: `Whether the column can be null.`, - initial: this.renderColumnNullable({ column }) ? 'true' : 'false', + initial: this.getColumnNullable({ column }) ? 'true' : 'false', validate: (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; } }, { - // todo abstract into function name: 'unique', message: `Whether the column is unique.`, - initial: this.renderColumnUnique({ column }) ? 'true' : 'false', + initial: this.getColumnUnique({ column }) ? 'true' : 'false', validate: (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; @@ -500,15 +477,15 @@ export default class EditSchema extends BaseCommand { if (!this.columnEdits[column.tableName]) this.columnEdits[column.tableName] = {}; if (!this.columnEdits[column.tableName][column.originalName]) this.columnEdits[column.tableName][column.originalName] = {} as any; - this.columnEdits[column.tableName][column.originalName] = { - name: values.name, - nullable: parseBoolean(values.nullable) ?? true, - unique: parseBoolean(values.unique) ?? false, - type: column.type, - defaultValue: column.defaultValue, - originalName: column.originalName, + this.columnEdits[column.tableName][column.originalName] = columnToPgroll({ + column: { + ...column, + ...values, + nullable: parseBoolean(values.nullable) ?? true, + unique: parseBoolean(values.unique) ?? false + }, tableName: column.tableName - }; + }); } await this.showSchemaEdit(); } catch (err) { @@ -622,26 +599,15 @@ export default class EditSchema extends BaseCommand { const { values } = await snippet.run(); if (!this.columnAdditions[tableName]) this.columnAdditions[tableName] = {}; if (!this.columnAdditions[tableName][values.name]) this.columnAdditions[tableName][values.name] = {} as any; - this.columnAdditions[tableName][values.name] = { - tableName, - originalName: values.name, - name: values.name, - type: values.type, - nullable: parseBoolean(values.nullable) ?? true, - unique: parseBoolean(values.unique) ?? false, - defaultValue: values.default, - link: values.link ? { table: values.link } : undefined, - vector: values.vectorDimension ? { dimension: values.vectorDimension } : undefined, - file: - values.type === 'file' && values.defaultPublicAccess - ? { defaultPublicAccess: values.defaultPublicAccess } - : undefined, - 'file[]': - values.type === 'file[]' && values.defaultPublicAccess - ? { defaultPublicAccess: values.defaultPublicAccess } - : undefined - }; - + this.columnAdditions[tableName][values.name] = columnToPgroll({ + column: { + ...column, + ...values, + nullable: parseBoolean(values.nullable) ?? true, + unique: parseBoolean(values.unique) ?? false + }, + tableName: column.tableName + }); await this.showSchemaEdit(); } catch (err) { if (err) throw err; @@ -701,20 +667,14 @@ export default class EditSchema extends BaseCommand { try { const answer: { values: { name: string } } = await snippet.run(); - - // todo abstract into a function - if (answer.values.name !== initialTableName) { - const existingEntry = this.tableEdits.find(({ name }) => name === initialTableName); - if (existingEntry) { - existingEntry.newName = answer.values.name; - } else { - this.tableEdits.push({ name: initialTableName, newName: answer.values.name }); - } - } else { - const index = this.tableEdits.findIndex(({ name }) => name === initialTableName); - if (index > -1) { - this.tableEdits.splice(index, 1); - } + const existingEntry = this.tableEdits.find(({ name }) => name === initialTableName); + const changed = answer.values.name !== initialTableName; + if (existingEntry && changed) { + existingEntry.newName = answer.values.name; + } else if (existingEntry && !changed) { + this.tableEdits = this.tableEdits.filter(({ name }) => name !== initialTableName); + } else if (!existingEntry && changed) { + this.tableEdits.push({ name: initialTableName, newName: answer.values.name }); } await this.showSchemaEdit(); } catch (err) { @@ -753,8 +713,8 @@ export const editsToMigrations = (command: EditSchema) => { ); let localTableEdits: EditTablePayload['table'][] = JSON.parse(JSON.stringify(command.tableEdits)); let localTableDeletions: DeleteTablePayload[] = JSON.parse(JSON.stringify(command.tableDeletions)); - const localColumnAdditions: ColumnAdditionData = JSON.parse(JSON.stringify(command.columnAdditions)); - const localColumnEdits: ColumnEditData = JSON.parse(JSON.stringify(command.columnEdits)); + const localColumnAdditions: ColumnAdditions = JSON.parse(JSON.stringify(command.columnAdditions)); + const localColumnEdits: ColumnEdits = JSON.parse(JSON.stringify(command.columnEdits)); const localColumnDeletions: DeleteColumnPayload = JSON.parse(JSON.stringify(command.columnDeletions)); const isTableDeleted = (name: string) => { @@ -815,7 +775,6 @@ export const editsToMigrations = (command: EditSchema) => { // bundle edit columns into new columns for (const [tableName, columns] of Object.entries(localColumnEdits)) { - // TODO multiple edits are not being bundled into one for (const [columnName, column] of Object.entries(columns)) { const columnIsNew = localColumnAdditions[tableName]?.[columnName]; if (columnIsNew) { @@ -937,7 +896,6 @@ export const editsToMigrations = (command: EditSchema) => { return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; -// todo add to pgroll file? const augmentColumns = ( columns: AddColumnPayload['column'][] ): { column: OpAddColumn['column']; tableName: string }[] => { @@ -963,37 +921,35 @@ const augmentColumns = ( })); }; -async function waitForMigrationToFinish( - api: XataApiClient, - workspace: string, - region: string, - database: string, - branch: string, - jobId: string -): Promise { - const { status, error } = await api.migrations.getMigrationJobStatus({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } - }); - if (status === 'failed') { - throw new Error(`Migration failed, ${error}`); - } - - if (status === 'completed') { - return; - } - - await new Promise((resolve) => setTimeout(resolve, 1000)); - return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); -} - const isReservedXataFieldName = (name: string) => { return name.toLowerCase().startsWith('xata_'); }; -// todo add to helpers file? function parseBoolean(value?: string) { if (!value) return undefined; const val = value.toLowerCase(); if (['true', 't', '1', 'y', 'yes'].includes(val)) return true; if (['false', 'f', '0', 'n', 'no'].includes(val)) return false; } + +const columnToPgroll = ({ + column, + tableName +}: { + column: Schemas.Column; + tableName: string; +}): EditColumnPayload['column'] => { + return { + name: column.name, + unique: column.unique ?? false, + type: column.type, + nullable: column.notNull === true ? false : true, + tableName: tableName, + originalName: column.name, + defaultValue: column.defaultValue ?? undefined, + vector: column.vector ? { dimension: column.vector.dimension } : undefined, + link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, + file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, + 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined + }; +}; diff --git a/cli/src/commands/schema/types.ts b/cli/src/commands/schema/types.ts index 7b125f4a4..960cb2938 100644 --- a/cli/src/commands/schema/types.ts +++ b/cli/src/commands/schema/types.ts @@ -35,20 +35,22 @@ export type EditTablePayload = { }; }; +export type DeleteTablePayload = { + name: string; +}; + export type AddColumnPayload = { type: 'add-column'; tableName: string; column: ColumnData; }; -export type ColumnAdditionData = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; - export type EditColumnPayload = { type: 'edit-column'; column: ColumnData; }; -export type ColumnEditData = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; +export type DeleteColumnPayload = { [tableName: string]: string[] }; export type FormatPayload = { type: 'space' | 'migrate' | 'schema'; @@ -63,10 +65,8 @@ export type SelectChoice = { hint?: string; }; -export type DeleteTablePayload = { - name: string; -}; +export type ValidationState = { values: { name: string }; items: { name: string; input: string }[] }; -export type DeleteColumnPayload = { [tableName: string]: string[] }; +export type ColumnAdditions = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; -export type ValidationState = { values: { name: string }; items: { name: string; input: string }[] }; +export type ColumnEdits = { [tableName: string]: { [columnName: string]: AddColumnPayload['column'] } }; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 67a1f4eab..373bd20f9 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,4 +1,4 @@ -import { Schemas } from '@xata.io/client'; +import { Schemas, XataApiClient } from '@xata.io/client'; import { migrationsDir, readMigrationsDir } from './files.js'; import path from 'path'; import { safeJSONParse, safeReadFile } from '../utils/files.js'; @@ -318,3 +318,26 @@ export const notNullUpValue = (column: Column, notNull: boolean) => { )} ELSE "${column.name}" END)` }; }; + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +): Promise { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 8702fc94240589764b62a4d86dc49c7cf9548439 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 14:49:34 +0200 Subject: [PATCH 062/145] types --- cli/src/commands/schema/edit.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index f90bd71f2..78868189f 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -2,9 +2,9 @@ import { beforeEach, expect, test, describe } from 'vitest'; import { AddColumnPayload, AddTablePayload, - ColumnAdditionData, + ColumnAdditions, ColumnData, - ColumnEditData, + ColumnEdits, DeleteColumnPayload, DeleteTablePayload, EditTablePayload @@ -16,8 +16,8 @@ class mockEdit { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; tableDeletions: DeleteTablePayload[] = []; - columnAdditions: ColumnAdditionData = {}; - columnEdits: ColumnEditData = {}; + columnAdditions: ColumnAdditions = {}; + columnEdits: ColumnEdits = {}; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; } From 8a806a8088f8c8e46b24d36df8fbd825feb6e7d8 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 14:53:34 +0200 Subject: [PATCH 063/145] clean --- cli/src/commands/schema/edit.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 0f97a1793..b3a09f2bd 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -684,12 +684,12 @@ export default class EditSchema extends BaseCommand { } const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { - return tableDeletions.some(({ name: tableName }) => tableName === name) ? true : false; + return tableDeletions.some(({ name: tableName }) => tableName === name); }; /** Necessary because disabling prevents the user from "undeleting" a column */ const editColumnDisabled = (column: EditColumnPayload['column'], columnDeletions: DeleteColumnPayload) => { - return columnDeletions[column.tableName]?.includes(column.originalName) ? true : false; + return columnDeletions[column.tableName]?.includes(column.originalName); }; const validateMigration = (migration: object) => { @@ -713,6 +713,7 @@ export const editsToMigrations = (command: EditSchema) => { ); let localTableEdits: EditTablePayload['table'][] = JSON.parse(JSON.stringify(command.tableEdits)); let localTableDeletions: DeleteTablePayload[] = JSON.parse(JSON.stringify(command.tableDeletions)); + const localColumnAdditions: ColumnAdditions = JSON.parse(JSON.stringify(command.columnAdditions)); const localColumnEdits: ColumnEdits = JSON.parse(JSON.stringify(command.columnEdits)); const localColumnDeletions: DeleteColumnPayload = JSON.parse(JSON.stringify(command.columnDeletions)); @@ -765,12 +766,11 @@ export const editsToMigrations = (command: EditSchema) => { localTableEdits = localTableEdits.filter(({ name }) => !editsToNewTable.find((edit) => edit.name === name)); localTableAdditions = localTableAdditions.map((addition) => { const edit = editsToNewTable.find(({ name }) => name === addition.name); - if (edit) { - return { - name: edit.newName - }; - } - return addition; + return edit + ? { + name: edit.newName + } + : addition; }); // bundle edit columns into new columns @@ -869,7 +869,7 @@ export const editsToMigrations = (command: EditSchema) => { for (const [_, columns] of Object.entries(localColumnEdits)) { for (const [_, data] of Object.entries(columns)) { const { name, nullable, unique, type, link, originalName } = data; - const cols = augmentColumns([data]).map(({ column, tableName }) => { + const cols = augmentColumns([data]).map(({ column: _, tableName }) => { return { alter_column: { column: originalName, From d5ba013e06c1d98ad8e32ae65c897c9e92d30ed4 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 15:30:41 +0200 Subject: [PATCH 064/145] fix notnull rendering --- cli/src/commands/schema/edit.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index b3a09f2bd..f76dc58a4 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -300,7 +300,7 @@ export default class EditSchema extends BaseCommand { if (currentNullableValue !== column.nullable) { return currentNullableValue ? chalk.green('nullable') : chalk.green('not nullable'); } - return currentNullableValue ? chalk.gray.italic('nullable') : ''; + return currentNullableValue ? '' : chalk.gray.italic('not nullable'); }; const metadata = [ @@ -481,7 +481,7 @@ export default class EditSchema extends BaseCommand { column: { ...column, ...values, - nullable: parseBoolean(values.nullable) ?? true, + notNull: parseBoolean(values.nullable) === false ?? false, unique: parseBoolean(values.unique) ?? false }, tableName: column.tableName @@ -603,7 +603,8 @@ export default class EditSchema extends BaseCommand { column: { ...column, ...values, - nullable: parseBoolean(values.nullable) ?? true, + defaultValue: values.default, + notNull: parseBoolean(values.nullable) === false ?? false, unique: parseBoolean(values.unique) ?? false }, tableName: column.tableName From 0f8395708b96fd8ae1a91317327b10970c534426 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 10 Apr 2024 15:35:47 +0200 Subject: [PATCH 065/145] more fields --- cli/src/commands/schema/edit.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index f76dc58a4..a1454a627 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -603,6 +603,24 @@ export default class EditSchema extends BaseCommand { column: { ...column, ...values, + 'file[]': + values.type === 'file[]' + ? { defaultPublicAccess: parseBoolean(values.defaultPublicAccess) ?? false } + : undefined, + file: + values.type === 'file' + ? { defaultPublicAccess: parseBoolean(values.defaultPublicAccess) ?? false } + : undefined, + vector: values.vectorDimension + ? { + dimension: values.vectorDimension + } + : undefined, + link: values.link + ? { + table: values.link + } + : undefined, defaultValue: values.default, notNull: parseBoolean(values.nullable) === false ?? false, unique: parseBoolean(values.unique) ?? false From 8444c568ae722e886b0a7179be05a3a0a2e8a9ac Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 09:11:15 +0200 Subject: [PATCH 066/145] names and validation --- cli/src/commands/schema/edit.ts | 161 +++++++++++++------------------- 1 file changed, 67 insertions(+), 94 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index a1454a627..1b98a7add 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -17,6 +17,7 @@ import { AddColumnPayload, AddTablePayload, ColumnAdditions, + ColumnData, ColumnEdits, DeleteColumnPayload, DeleteTablePayload, @@ -119,7 +120,7 @@ export default class EditSchema extends BaseCommand { ...Object.values(table.columns) .filter(({ name }) => !isReservedXataFieldName(name)) .map((column) => { - const col = columnToPgroll({ column, tableName: table.name }); + const col = formatSchemaColumnToColumnData({ column, tableName: table.name }); return { name: { type: 'edit-column', @@ -393,24 +394,6 @@ export default class EditSchema extends BaseCommand { } } - tableNameAlreadyExists = (value: string) => { - return this.branchDetails?.schema.tables.find(({ name }) => name === value) || - this.tableEdits.find(({ name }) => name === value) || - this.tableAdditions.find(({ name }) => name === value) - ? true - : false; - }; - - columnNameAlreadyExists = (value: string, column: AddColumnPayload['column']) => { - return this.branchDetails?.schema.tables - .find(({ name }) => name === column.tableName) - ?.columns.find(({ name }) => name === value) || - this.columnEdits?.[column.tableName]?.[value] || - this.columnAdditions?.[column.tableName]?.[value] - ? true - : false; - }; - async showColumnEdit(column: EditColumnPayload['column']) { this.clear(); const template = ` @@ -428,30 +411,19 @@ export default class EditSchema extends BaseCommand { name: 'name', message: 'The name of the column', initial: this.getColumnNameEdit({ column }) ?? column.originalName, - validate: (value: string, state: ValidationState) => { - if (column.originalName === value || value === state.values.name) return true; - return ( - !emptyString(value) && !this.columnNameAlreadyExists(value, column) && !isReservedXataFieldName(value) - ); - } + validate: (value: string, state: ValidationState) => this.validateColumnName(value, state, column) }, { name: 'nullable', message: `Whether the column can be null.`, initial: this.getColumnNullable({ column }) ? 'true' : 'false', - validate: (value: string) => { - if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; - return true; - } + validate: this.validateColumnNullable }, { name: 'unique', message: `Whether the column is unique.`, initial: this.getColumnUnique({ column }) ? 'true' : 'false', - validate: (value: string) => { - if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; - return true; - } + validate: this.validateColumnUnique } ], footer: this.footer, @@ -473,14 +445,15 @@ export default class EditSchema extends BaseCommand { existingEntry.name = values.name; existingEntry.nullable = parseBoolean(values.nullable) ?? true; existingEntry.unique = parseBoolean(values.unique) ?? false; - } else { + } else if (!unchanged && !existingEntry) { if (!this.columnEdits[column.tableName]) this.columnEdits[column.tableName] = {}; if (!this.columnEdits[column.tableName][column.originalName]) this.columnEdits[column.tableName][column.originalName] = {} as any; - this.columnEdits[column.tableName][column.originalName] = columnToPgroll({ + this.columnEdits[column.tableName][column.originalName] = formatSchemaColumnToColumnData({ column: { ...column, ...values, + originalName: column.originalName, notNull: parseBoolean(values.nullable) === false ?? false, unique: parseBoolean(values.unique) ?? false }, @@ -519,12 +492,7 @@ export default class EditSchema extends BaseCommand { { name: 'name', message: 'The name of the column', - validate: (value: string) => { - if (value === undefined) return 'Name cannot be undefined'; - if (emptyString(value)) return 'Name cannot be empty'; - if (this.columnNameAlreadyExists(value, column)) return 'Column already exists'; - return !isReservedXataFieldName(value); - } + validate: (value: string, state: ValidationState) => this.validateColumnName(value, state, column) }, { name: 'type', @@ -539,25 +507,16 @@ export default class EditSchema extends BaseCommand { { name: 'nullable', message: `Whether the column can be null.`, - validate: (value: string) => { - if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; - return true; - } + validate: this.validateColumnNullable }, { name: 'unique', message: `Whether the column is unique.`, - validate: (value: string) => { - if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; - return true; - } + validate: this.validateColumnUnique }, { name: 'default', - message: `The default for the column.`, - validate: (value: string) => { - return true; - } + message: `The default for the column.` }, { name: 'link', @@ -566,7 +525,6 @@ export default class EditSchema extends BaseCommand { const columnType = state.items.find(({ name }) => name === 'type')?.input; if ((value === undefined || emptyString(value)) && columnType === 'link') return 'Cannot be empty string when the type is link'; - if (columnType === 'link' && !this.tableNameAlreadyExists(value)) return 'Table does not exist'; return true; } }, @@ -599,10 +557,11 @@ export default class EditSchema extends BaseCommand { const { values } = await snippet.run(); if (!this.columnAdditions[tableName]) this.columnAdditions[tableName] = {}; if (!this.columnAdditions[tableName][values.name]) this.columnAdditions[tableName][values.name] = {} as any; - this.columnAdditions[tableName][values.name] = columnToPgroll({ + this.columnAdditions[tableName][values.name] = formatSchemaColumnToColumnData({ column: { ...column, ...values, + originalName: column.originalName, 'file[]': values.type === 'file[]' ? { defaultPublicAccess: parseBoolean(values.defaultPublicAccess) ?? false } @@ -642,10 +601,7 @@ export default class EditSchema extends BaseCommand { { name: 'name', message: 'The table name', - validate: (value: string) => { - if (emptyString(value)) return 'Name cannot be empty'; - return !isReservedXataFieldName(value) && !this.tableNameAlreadyExists(value); - } + validate: this.validateTableName } ], footer: this.footer, @@ -672,10 +628,7 @@ export default class EditSchema extends BaseCommand { name: 'name', message: 'The table name', initial: this.renderTableNameEdited(initialTableName) ?? initialTableName, - validate: (value: string, state: ValidationState) => { - if (value === state.values.name) return true; - return !emptyString(value) && !isReservedXataFieldName(value) && !this.tableNameAlreadyExists(value); - } + validate: this.validateTableName } ], footer: this.footer, @@ -700,6 +653,27 @@ export default class EditSchema extends BaseCommand { if (err) throw err; } } + + validateTableName = (value: string, state: ValidationState) => { + if (value === undefined) return 'Name cannot be undefined'; + if (emptyString(value)) return 'Name cannot be empty'; + if (value === state.fields.find((field) => field.name === 'name')?.initial) return true; + return !emptyString(value) && !isReservedXataFieldName(value); + }; + + validateColumnName = (value: string, state: ValidationState, column: ColumnData) => { + if (value === undefined) return 'Name cannot be undefined'; + if (emptyString(value)) return 'Name cannot be empty'; + return !isReservedXataFieldName(value); + }; + validateColumnNullable = (value: string, state: ValidationState) => { + if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; + return true; + }; + validateColumnUnique = (value: string, state: ValidationState) => { + if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; + return true; + }; } const editTableDisabled = (name: string, tableDeletions: DeleteTablePayload[]) => { @@ -855,7 +829,7 @@ export const editsToMigrations = (command: EditSchema) => { const columnAdditions: { add_column: OpAddColumn }[] = []; for (const [_, columns] of Object.entries(localColumnAdditions)) { columnAdditions.push( - ...augmentColumns(Object.values(columns)).map(({ column, tableName }) => { + ...formatColumnDataToPgroll(Object.values(columns)).map(({ column, tableName }) => { return { add_column: { column, @@ -870,7 +844,7 @@ export const editsToMigrations = (command: EditSchema) => { return { create_table: { name: name, - columns: augmentColumns(columns ?? []).map(({ column }) => column) + columns: formatColumnDataToPgroll(columns ?? []).map(({ column }) => column) } }; }); @@ -888,7 +862,7 @@ export const editsToMigrations = (command: EditSchema) => { for (const [_, columns] of Object.entries(localColumnEdits)) { for (const [_, data] of Object.entries(columns)) { const { name, nullable, unique, type, link, originalName } = data; - const cols = augmentColumns([data]).map(({ column: _, tableName }) => { + const cols = formatColumnDataToPgroll([data]).map(({ column: _, tableName }) => { return { alter_column: { column: originalName, @@ -901,8 +875,7 @@ export const editsToMigrations = (command: EditSchema) => { }, name, references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, - // todo if just a rename, no up and down required - // todo if notnull changes - notNullUpValue needs to be called + // TODO https://github.com/xataio/pgroll/issues/336 up: `"${name}"`, down: `"${name}"` } @@ -915,31 +888,6 @@ export const editsToMigrations = (command: EditSchema) => { return [...columnDeletions, ...tableDeletions, ...tableAdditions, ...columnAdditions, ...columnEdits, ...tableEdits]; }; -const augmentColumns = ( - columns: AddColumnPayload['column'][] -): { column: OpAddColumn['column']; tableName: string }[] => { - return columns.map((column) => ({ - tableName: column.tableName, - column: { - name: column.name, - type: xataColumnTypeToPgRoll(column.type as any), - references: - column.type === 'link' - ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) - : undefined, - default: - column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, - nullable: parseBoolean(String(column.nullable)) ?? true, - unique: parseBoolean(String(column.unique)) ?? false, - check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), - comment: xataColumnTypeToPgRollComment(column as any), - up: requiresUpArgument(column.nullable === false, column.defaultValue) - ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) - : undefined - } - })); -}; - const isReservedXataFieldName = (name: string) => { return name.toLowerCase().startsWith('xata_'); }; @@ -951,7 +899,7 @@ function parseBoolean(value?: string) { if (['false', 'f', '0', 'n', 'no'].includes(val)) return false; } -const columnToPgroll = ({ +const formatSchemaColumnToColumnData = ({ column, tableName }: { @@ -972,3 +920,28 @@ const columnToPgroll = ({ 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined }; }; + +const formatColumnDataToPgroll = ( + columns: AddColumnPayload['column'][] +): { column: OpAddColumn['column']; tableName: string }[] => { + return columns.map((column) => ({ + tableName: column.tableName, + column: { + name: column.name, + type: xataColumnTypeToPgRoll(column.type as any), + references: + column.type === 'link' + ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) + : undefined, + default: + column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, + nullable: parseBoolean(String(column.nullable)) ?? true, + unique: parseBoolean(String(column.unique)) ?? false, + check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), + comment: xataColumnTypeToPgRollComment(column as any), + up: requiresUpArgument(column.nullable === false, column.defaultValue) + ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) + : undefined + } + })); +}; From 5f07e650eb2565c3367e6b304d861066cd50b15d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 09:40:19 +0200 Subject: [PATCH 067/145] fix file access prop --- cli/src/commands/schema/edit.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 1b98a7add..cb02e51cf 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -454,8 +454,8 @@ export default class EditSchema extends BaseCommand { ...column, ...values, originalName: column.originalName, - notNull: parseBoolean(values.nullable) === false ?? false, - unique: parseBoolean(values.unique) ?? false + notNull: parseBoolean(values.nullable) === false ? true : false, + unique: parseBoolean(values.unique) ? true : false }, tableName: column.tableName }); @@ -581,8 +581,8 @@ export default class EditSchema extends BaseCommand { } : undefined, defaultValue: values.default, - notNull: parseBoolean(values.nullable) === false ?? false, - unique: parseBoolean(values.unique) ?? false + notNull: parseBoolean(values.nullable) === false ? true : false, + unique: parseBoolean(values.unique) ? true : false }, tableName: column.tableName }); @@ -916,8 +916,9 @@ const formatSchemaColumnToColumnData = ({ defaultValue: column.defaultValue ?? undefined, vector: column.vector ? { dimension: column.vector.dimension } : undefined, link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, - file: column.type === 'file' ? { defaultPublicAccess: false } : undefined, - 'file[]': column.type === 'file[]' ? { defaultPublicAccess: false } : undefined + file: column.type === 'file' ? { defaultPublicAccess: column.file?.defaultPublicAccess ?? false } : undefined, + 'file[]': + column.type === 'file[]' ? { defaultPublicAccess: column['file[]']?.defaultPublicAccess ?? false } : undefined }; }; From 72fdfe6c3ee196166f627684e3edda3a6537395a Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 09:48:47 +0200 Subject: [PATCH 068/145] fix build --- cli/src/migrations/pgroll.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index ae342762b..49210718a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -171,7 +171,7 @@ export function xataColumnTypeToPgRoll(type: Column['type']): string { case 'vector': return 'real[]'; default: - return exhaustiveCheck(type); + return 'text'; } } @@ -227,7 +227,7 @@ export const xataColumnTypeToPgRollConstraint = (column: Column, table: string) case 'json': return undefined; default: - return exhaustiveCheck(column.type); + return undefined; } }; @@ -263,7 +263,7 @@ export const xataColumnTypeToPgRollComment = (column: Column) => { case 'datetime': return undefined; default: - return exhaustiveCheck(column.type); + return 'text'; } }; @@ -298,7 +298,7 @@ export function xataColumnTypeToZeroValue(type: Column['type'], defaultValue: un case 'file[]': return "'{}'"; default: - return exhaustiveCheck(type); + return "''"; } } From 32822f05ca868baae842c3353f73db03bb668076 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 11:11:58 +0200 Subject: [PATCH 069/145] fix alter --- cli/src/commands/schema/edit.ts | 114 ++++++++++++++++++++++++++------ cli/src/migrations/pgroll.ts | 21 ++---- 2 files changed, 97 insertions(+), 38 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index cb02e51cf..17ad71443 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -6,6 +6,7 @@ import { OpAlterColumn, OpCreateTable, OpDropColumn, + OpDropConstraint, OpDropTable, OpRenameTable, PgRollMigration, @@ -120,7 +121,10 @@ export default class EditSchema extends BaseCommand { ...Object.values(table.columns) .filter(({ name }) => !isReservedXataFieldName(name)) .map((column) => { - const col = formatSchemaColumnToColumnData({ column, tableName: table.name }); + const col = formatSchemaColumnToColumnData({ + column: { ...column, originalName: column.name }, + tableName: table.name + }); return { name: { type: 'edit-column', @@ -438,7 +442,6 @@ export default class EditSchema extends BaseCommand { column.name === values.name && column.nullable === parseBoolean(values.nullable) && column.unique === parseBoolean(values.unique); - if (unchanged && existingEntry) { delete this.columnEdits[column.tableName][column.originalName]; } else if (!unchanged && existingEntry) { @@ -858,30 +861,99 @@ export const editsToMigrations = (command: EditSchema) => { }; }); - const columnEdits: { alter_column: OpAlterColumn }[] = []; + const columnEdits: ({ alter_column: OpAlterColumn } | { drop_constraint: OpDropConstraint })[] = []; for (const [_, columns] of Object.entries(localColumnEdits)) { for (const [_, data] of Object.entries(columns)) { - const { name, nullable, unique, type, link, originalName } = data; - const cols = formatColumnDataToPgroll([data]).map(({ column: _, tableName }) => { - return { + const { name, nullable, unique, originalName } = data; + formatColumnDataToPgroll([data]).map(({ column: _, tableName }) => { + const originalField = command.branchDetails?.schema.tables + .find((table) => table.name === tableName) + ?.columns.find((col) => col.name === originalName); + if (!originalField) { + throw new Error(`Could not find original field ${originalName} in table ${tableName}`); + } + + // TODO these wont work in combination until https://github.com/xataio/pgroll/issues/336 + const nameChanged = name !== originalField.name; + const nullableChanged = nullable !== !originalField.notNull; + const uniqueAdded = unique !== originalField.unique && unique === true; + const uniqueRemoved = unique !== originalField.unique && unique === false; + + const uniqueValue = uniqueAdded + ? { + unique: { + name: `${tableName}_${name}_unique` + }, + up: `"${name}"`, + down: `"${name}"` + } + : undefined; + + const nameToUse = nameChanged ? name : originalField.name; + + const nullValue = nullableChanged + ? { + up: + nullable === false + ? `(SELECT CASE WHEN "${originalField.name}" IS NULL THEN ${xataColumnTypeToZeroValue( + originalField.type, + originalField.defaultValue + )} ELSE "${nameToUse}" END)` + : `"${nameToUse}"`, + down: + nullable === true + ? `"${nameToUse}"` + : `(SELECT CASE WHEN "${originalField.name}" IS NULL THEN ${xataColumnTypeToZeroValue( + originalField.type, + originalField.defaultValue + )} ELSE "${nameToUse}" END)` + } + : undefined; + + const alterStatement = { alter_column: { - column: originalName, + column: originalField.name, table: tableName, - nullable, - unique: !unique - ? undefined - : { - name: `unique_constraint_${tableName}_${name}` - }, - name, - references: type === 'link' ? generateLinkReference({ column: name, table: link?.table ?? '' }) : undefined, - // TODO https://github.com/xataio/pgroll/issues/336 - up: `"${name}"`, - down: `"${name}"` + name: nameChanged ? name : undefined, + nullable: nullableChanged ? nullable : undefined, + ...uniqueValue, + ...nullValue } }; + + if (nullableChanged || nameChanged || uniqueAdded) { + columnEdits.push(alterStatement); + } + + if (uniqueRemoved) { + // should changing the name of a column also change the name of the unique constraint? + // we dont do that in the front end either + // @ts-ignore + const uniqueConstraintName = Object.values( + command.branchDetails?.schema.tables.find((table) => tableName === table.name)?.uniqueConstraints ?? {} + ).find( + (constraint: any) => constraint.columns.length === 1 && constraint.columns[0] === originalField.name + // @ts-ignore + )?.name; + + const maybeDropStatement = + uniqueRemoved && uniqueConstraintName + ? { + drop_constraint: { + table: tableName, + column: originalField.name, + name: uniqueConstraintName, + up: `"${nameToUse}"`, + down: `"${nameToUse}"` + } + } + : undefined; + + if (maybeDropStatement) { + columnEdits.push(maybeDropStatement); + } + } }); - columnEdits.push(...cols); } } @@ -903,7 +975,7 @@ const formatSchemaColumnToColumnData = ({ column, tableName }: { - column: Schemas.Column; + column: Schemas.Column & { originalName: string }; tableName: string; }): EditColumnPayload['column'] => { return { @@ -912,7 +984,7 @@ const formatSchemaColumnToColumnData = ({ type: column.type, nullable: column.notNull === true ? false : true, tableName: tableName, - originalName: column.name, + originalName: column.originalName, defaultValue: column.defaultValue ?? undefined, vector: column.vector ? { dimension: column.vector.dimension } : undefined, link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 49210718a..b03ec73e8 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -101,6 +101,10 @@ export async function getBranchDetailsWithPgRoll( schema: { tables: Object.entries(pgroll.schema.tables ?? []).map(([name, table]: any) => ({ name, + checkConstraints: table.checkConstraints, + foreignKeys: table.foreignKeys, + primaryKey: table.primaryKey, + uniqueConstraints: table.uniqueConstraints, columns: Object.values(table.columns ?? {}) .filter((column: any) => !['_id', '_createdat', '_updatedat', '_version'].includes(column.name)) .map((column: any) => ({ @@ -302,23 +306,6 @@ export function xataColumnTypeToZeroValue(type: Column['type'], defaultValue: un } } -export const notNullUpValue = (column: Column, notNull: boolean) => { - return { - up: notNull - ? `(SELECT CASE WHEN "${column.name}" IS NULL THEN ${xataColumnTypeToZeroValue( - column.type, - column.defaultValue - )} ELSE "${column.name}" END)` - : `"${column.name}"`, - down: notNull - ? `"${column.name}"` - : `(SELECT CASE WHEN "${column.name}" IS NULL THEN ${xataColumnTypeToZeroValue( - column.type, - column.defaultValue - )} ELSE "${column.name}" END)` - }; -}; - export async function waitForMigrationToFinish( api: XataApiClient, workspace: string, From 68fb0f2b3054cef16b1faff2f08f17ff59d5644c Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 11:12:23 +0200 Subject: [PATCH 070/145] fix alter --- cli/src/commands/schema/edit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 17ad71443..36ed63a05 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -928,8 +928,8 @@ export const editsToMigrations = (command: EditSchema) => { if (uniqueRemoved) { // should changing the name of a column also change the name of the unique constraint? // we dont do that in the front end either - // @ts-ignore const uniqueConstraintName = Object.values( + // @ts-ignore command.branchDetails?.schema.tables.find((table) => tableName === table.name)?.uniqueConstraints ?? {} ).find( (constraint: any) => constraint.columns.length === 1 && constraint.columns[0] === originalField.name From cbfe6a281ef5fd01ae681a7950e6d35f9d2c3164 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 11:31:20 +0200 Subject: [PATCH 071/145] fix tests --- cli/src/commands/schema/edit.test.ts | 69 +++++++++++++++++----------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 78868189f..d0825e402 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -12,6 +12,17 @@ import { import { PgRollMigration } from '@xata.io/pgroll'; import EditSchema, { editsToMigrations } from './edit'; +const column: AddColumnPayload['column'] = { + name: 'col1', + defaultValue: undefined, + link: undefined, + type: 'string', + unique: false, + nullable: true, + originalName: 'col1', + tableName: 'table1' +}; + class mockEdit { tableAdditions: AddTablePayload['table'][] = []; tableEdits: EditTablePayload['table'][] = []; @@ -20,6 +31,34 @@ class mockEdit { columnEdits: ColumnEdits = {}; columnDeletions: DeleteColumnPayload = {}; currentMigration: PgRollMigration = { operations: [] }; + + branchDetails: any = { + databaseName: 'abc', + branchName: 'main', + createdAt: '2024-04-11T09:23:20.517Z', + id: 'bb_i4b697b2ul4fd29vk5snu5q8ss_guvr8p', + clusterID: 'shared-cluster', + lastMigrationID: '', + version: 1, + schema: { + tables: [ + { + name: 'table1', + checkConstraints: { two_xata_id_length_xata_id: [Object] }, + foreignKeys: { link_link: [Object] }, + primaryKey: [], + uniqueConstraints: { _pgroll_new_two_xata_id_key: [Object] }, + columns: [ + { + ...column + } + ] + } + ] + }, + metadata: {}, + usePgRoll: true + }; } const editCommand = new mockEdit(); @@ -48,17 +87,6 @@ const createEdit = (column: ColumnData) => { editCommand.columnEdits[column.tableName][column.originalName] = column; }; -const column: AddColumnPayload['column'] = { - name: 'col1', - defaultValue: undefined, - link: undefined, - type: 'string', - unique: false, - nullable: true, - originalName: 'col1', - tableName: 'table1' -}; - const runTest = (name: string, fx: () => void, expectation: any) => { test(name, () => { fx(); @@ -332,12 +360,7 @@ const testCases: TestCase[] = [ alter_column: { name: 'col2', column: 'col1', - nullable: true, - table: 'table1', - // Todo fix this. alter_column should not be boolean - unique: undefined, - down: '"col2"', - up: '"col2"' + table: 'table1' } } ] @@ -353,13 +376,11 @@ const testCases: TestCase[] = [ expectation: [ { alter_column: { - name: 'col1', column: 'col1', nullable: false, table: 'table1', - unique: undefined, - down: '"col1"', - up: '"col1"' + up: '(SELECT CASE WHEN "col1" IS NULL THEN \'\' ELSE "col1" END)', + down: '(SELECT CASE WHEN "col1" IS NULL THEN \'\' ELSE "col1" END)' } } ] @@ -375,16 +396,12 @@ const testCases: TestCase[] = [ expectation: [ { alter_column: { - // todo name should not be in here - name: 'col1', column: 'col1', - // todo nullable should not be in here - nullable: true, down: '"col1"', up: '"col1"', table: 'table1', unique: { - name: 'unique_constraint_table1_col1' + name: 'table1_col1_unique' } } } From d1995b26238262786c08500cb2f3682362461a16 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 11 Apr 2024 12:01:26 +0200 Subject: [PATCH 072/145] clean up --- cli/src/commands/schema/edit.test.ts | 94 +++++++++++++--------------- cli/src/commands/schema/edit.ts | 41 +++++++----- 2 files changed, 70 insertions(+), 65 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index d0825e402..b5803b92f 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -44,15 +44,11 @@ class mockEdit { tables: [ { name: 'table1', - checkConstraints: { two_xata_id_length_xata_id: [Object] }, - foreignKeys: { link_link: [Object] }, + checkConstraints: {}, + foreignKeys: {}, primaryKey: [], - uniqueConstraints: { _pgroll_new_two_xata_id_key: [Object] }, - columns: [ - { - ...column - } - ] + uniqueConstraints: {}, + columns: [column] } ] }, @@ -87,9 +83,9 @@ const createEdit = (column: ColumnData) => { editCommand.columnEdits[column.tableName][column.originalName] = column; }; -const runTest = (name: string, fx: () => void, expectation: any) => { +const runTest = (name: string, setup: () => void, expectation: any) => { test(name, () => { - fx(); + setup(); editCommand.currentMigration.operations = editsToMigrations(editCommand as EditSchema); expect(editCommand.currentMigration.operations).toEqual(expectation); }); @@ -97,7 +93,7 @@ const runTest = (name: string, fx: () => void, expectation: any) => { type TestCase = { name: string; - fx: () => void; + setup: () => void; expectation: any; only?: boolean; }; @@ -105,28 +101,28 @@ type TestCase = { const testCases: TestCase[] = [ { name: 'add table', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); }, expectation: [{ create_table: { name: 'table1', columns: [] } }] }, { name: 'delete table', - fx: () => { + setup: () => { editCommand.tableDeletions.push({ name: 'table1' }); }, expectation: [{ drop_table: { name: 'table1' } }] }, { name: 'edit table', - fx: () => { + setup: () => { editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); }, expectation: [{ rename_table: { from: 'table1', to: 'table2' } }] }, { name: 'add column', - fx: () => { + setup: () => { createAddition(column); }, expectation: [ @@ -153,7 +149,7 @@ const testCases: TestCase[] = [ }, { name: 'add column default', - fx: () => { + setup: () => { createAddition({ ...column, type: 'int', @@ -178,7 +174,7 @@ const testCases: TestCase[] = [ }, { name: 'add column not null', - fx: () => { + setup: () => { createAddition({ ...column, type: 'int', @@ -203,7 +199,7 @@ const testCases: TestCase[] = [ }, { name: 'add column unique', - fx: () => { + setup: () => { createAddition({ ...column, type: 'int', @@ -228,7 +224,7 @@ const testCases: TestCase[] = [ }, { name: 'add column file', - fx: () => { + setup: () => { createAddition({ ...column, type: 'file', @@ -256,7 +252,7 @@ const testCases: TestCase[] = [ }, { name: 'add column file[]', - fx: () => { + setup: () => { createAddition({ ...column, type: 'file[]', @@ -284,7 +280,7 @@ const testCases: TestCase[] = [ }, { name: 'add column vector', - fx: () => { + setup: () => { createAddition({ ...column, type: 'vector', @@ -317,7 +313,7 @@ const testCases: TestCase[] = [ }, { name: 'add link column', - fx: () => { + setup: () => { createAddition({ ...column, type: 'link', @@ -349,7 +345,7 @@ const testCases: TestCase[] = [ }, { name: 'edit column', - fx: () => { + setup: () => { createEdit({ ...column, name: 'col2' @@ -367,7 +363,7 @@ const testCases: TestCase[] = [ }, { name: 'edit column nullable to not nullable', - fx: () => { + setup: () => { createEdit({ ...column, nullable: false @@ -387,7 +383,7 @@ const testCases: TestCase[] = [ }, { name: 'edit column not unique to unique', - fx: () => { + setup: () => { createEdit({ ...column, unique: true @@ -409,7 +405,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting an existing table deletes all table edits', - fx: () => { + setup: () => { editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); editCommand.tableDeletions.push({ name: 'table1' }); }, @@ -417,7 +413,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting an existing table deletes all column edits', - fx: () => { + setup: () => { createEdit({ ...column, name: 'col2' @@ -428,7 +424,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting an existing table deletes all column deletes', - fx: () => { + setup: () => { editCommand.columnDeletions['table1'] = ['col1']; editCommand.tableDeletions.push({ name: 'table1' }); }, @@ -436,7 +432,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting an existing table deletes all column additions', - fx: () => { + setup: () => { createAddition(column); editCommand.tableDeletions.push({ name: 'table1' }); }, @@ -444,7 +440,7 @@ const testCases: TestCase[] = [ }, { name: 'creating a new column and deleting an existing table', - fx: () => { + setup: () => { createAddition(column); editCommand.columnDeletions['table1'] = ['col1']; createAddition({ @@ -477,7 +473,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting an existing column deletes all column edits', - fx: () => { + setup: () => { createEdit({ ...column, name: 'col2' @@ -496,7 +492,7 @@ const testCases: TestCase[] = [ { name: 'deleting a new table deletes all table edits', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); editCommand.tableDeletions.push({ name: 'table1' }); @@ -505,7 +501,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting a new table deletes all column edits', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createEdit({ ...column, @@ -518,7 +514,7 @@ const testCases: TestCase[] = [ { name: 'deleting a new table deletes all column deletes', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.columnDeletions['table1'] = ['col1']; editCommand.tableDeletions.push({ name: 'table1' }); @@ -528,7 +524,7 @@ const testCases: TestCase[] = [ { name: 'deleting a new table deletes all column additions', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition(column); editCommand.tableDeletions.push({ name: 'table1' }); @@ -537,7 +533,7 @@ const testCases: TestCase[] = [ }, { name: 'editing a new table is bundled with the table addition', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); }, @@ -549,7 +545,7 @@ const testCases: TestCase[] = [ }, { name: 'editing a new table removes the table edit', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); editCommand.tableEdits.push({ name: 'table1', newName: 'table2' }); }, @@ -561,7 +557,7 @@ const testCases: TestCase[] = [ }, { name: 'adding a column on a new table with unique = false is sent correctly', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, @@ -590,7 +586,7 @@ const testCases: TestCase[] = [ }, { name: 'adding a column on a new table with nullable = false is sent correctly', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, @@ -619,7 +615,7 @@ const testCases: TestCase[] = [ }, { name: 'adding a column on a new table with nullable = false is sent correctly', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, @@ -648,7 +644,7 @@ const testCases: TestCase[] = [ }, { name: 'adding a column on a new table with nullable = true is sent correctly', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, @@ -677,7 +673,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting a new column deletes all column additions, edit and deletions', - fx: () => { + setup: () => { createAddition(column); createEdit({ ...column, @@ -689,7 +685,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting a newly created column does not remove other deletes', - fx: () => { + setup: () => { editCommand.columnDeletions['table1'] = ['col1']; createAddition({ ...column, @@ -710,7 +706,7 @@ const testCases: TestCase[] = [ }, { name: 'adding a newly created column and making edit', - fx: () => { + setup: () => { createAddition({ ...column, type: 'float' @@ -749,7 +745,7 @@ const testCases: TestCase[] = [ }, { name: 'editing a new column in an existing table removes the column edit, and gets sent in add_column', - fx: () => { + setup: () => { createAddition(column); createEdit({ ...column, @@ -780,7 +776,7 @@ const testCases: TestCase[] = [ }, { name: 'deleting a new column deletes all column additions, edits, and deletions', - fx: () => { + setup: () => { createAddition(column); createEdit({ ...column, @@ -792,7 +788,7 @@ const testCases: TestCase[] = [ }, { name: 'editing a new column in a new table removes the column edit', - fx: () => { + setup: () => { editCommand.tableAdditions.push({ name: 'table1' }); createAddition(column); createAddition({ @@ -851,7 +847,7 @@ const testCases: TestCase[] = [ describe('edits to migrations', () => { const testWithOnly = testCases.some(({ only }) => only); testWithOnly - ? testCases.filter(({ only }) => only).forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)) + ? testCases.filter(({ only }) => only).forEach(({ name, setup, expectation }) => runTest(name, setup, expectation)) : null; - !testWithOnly ? testCases.forEach(({ name, fx, expectation }) => runTest(name, fx, expectation)) : null; + !testWithOnly ? testCases.forEach(({ name, setup, expectation }) => runTest(name, setup, expectation)) : null; }); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 36ed63a05..90a73d206 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -91,6 +91,7 @@ export default class EditSchema extends BaseCommand { activeIndex: number = 0; async showSchemaEdit() { + this.clear(); const tableChoices: SelectChoice[] = []; const select = new Select({ message: 'Schema for database test:main', @@ -196,7 +197,6 @@ export default class EditSchema extends BaseCommand { try { const result: SelectChoice['name'] = await select.run(); - await select.cancel(); if (result.type === 'add-table') { await this.showAddTable(result.table); } else if (result.type === 'edit-column') { @@ -223,6 +223,7 @@ export default class EditSchema extends BaseCommand { } catch (error) { if (error) throw error; } + this.clear(); } async migrate() { @@ -439,7 +440,7 @@ export default class EditSchema extends BaseCommand { const existingEntry = this.columnEdits[column.tableName]?.[column.originalName]; const unchanged = - column.name === values.name && + column.originalName === values.name && column.nullable === parseBoolean(values.nullable) && column.unique === parseBoolean(values.unique); if (unchanged && existingEntry) { @@ -466,6 +467,9 @@ export default class EditSchema extends BaseCommand { await this.showSchemaEdit(); } catch (err) { if (err) throw err; + // User cancelled + await this.showSchemaEdit(); + return; } } @@ -592,6 +596,9 @@ export default class EditSchema extends BaseCommand { await this.showSchemaEdit(); } catch (err) { if (err) throw err; + // User cancelled + await this.showSchemaEdit(); + return; } } @@ -616,10 +623,10 @@ export default class EditSchema extends BaseCommand { try { const answer: { values: { name: string } } = await snippet.run(); this.tableAdditions.push({ name: answer.values.name }); - await this.showSchemaEdit(); } catch (err) { if (err) throw err; } + await this.showSchemaEdit(); } async showTableEdit({ initialTableName }: { initialTableName: string }) { @@ -654,6 +661,9 @@ export default class EditSchema extends BaseCommand { await this.showSchemaEdit(); } catch (err) { if (err) throw err; + // User cancelled + await this.showSchemaEdit(); + return; } } @@ -702,7 +712,7 @@ const createSpace = (): SelectChoice => { export const editsToMigrations = (command: EditSchema) => { // Duplicating here because if we remove items from class state they dont show on UI - // todo better way to deep copy? If not surround with try catch + // TODO better way to deep copy? If not surround with try catch let localTableAdditions: (AddTablePayload['table'] & { columns?: AddColumnPayload['column'][] })[] = JSON.parse( JSON.stringify(command.tableAdditions) @@ -731,19 +741,19 @@ export const editsToMigrations = (command: EditSchema) => { } } - // if column was deleted then remove edits, and additions and deletions if new + // If column was deleted then remove edits, and additions and deletions if new for (const [tableName, columns] of Object.entries(localColumnDeletions)) { for (const columnName of columns) { const columnWasEdited = localColumnEdits[tableName]?.[columnName]; if (columnWasEdited) { - // remove the edit + // Remove the edit delete localColumnEdits[tableName][columnName]; } const columnWasAdded = localColumnAdditions[tableName]?.[columnName]; if (columnWasAdded) { - // remove deletions + // Remove deletions localColumnDeletions[tableName] = localColumnDeletions[tableName].filter((col) => col !== columnName); - // remove the addition + // Remove the addition delete localColumnAdditions[tableName][columnName]; } } @@ -769,19 +779,19 @@ export const editsToMigrations = (command: EditSchema) => { : addition; }); - // bundle edit columns into new columns + // Bundle edit columns into new columns for (const [tableName, columns] of Object.entries(localColumnEdits)) { for (const [columnName, column] of Object.entries(columns)) { const columnIsNew = localColumnAdditions[tableName]?.[columnName]; if (columnIsNew) { - // add to column additions + // Add to column additions localColumnAdditions[tableName][columnName] = { ...column, name: column.name, unique: column.unique ?? false, nullable: column.nullable ?? true }; - // delete column from edits + // Delete column from edits delete localColumnEdits[tableName][columnName]; if (Object.keys(localColumnEdits[tableName]).length === 0) { delete localColumnEdits[tableName]; @@ -790,7 +800,7 @@ export const editsToMigrations = (command: EditSchema) => { } } - // bundle new columns into new tables + // Bundle new columns into new tables for (const [tableName, columns] of Object.entries(localColumnAdditions)) { const tableIsNew = localTableAdditions.find((addition) => addition.name === tableName); if (tableIsNew) { @@ -798,10 +808,10 @@ export const editsToMigrations = (command: EditSchema) => { const localTableAddition = localTableAdditions.find((addition) => addition.name === tableName); if (localTableAddition) { if (!localTableAddition?.columns) localTableAddition.columns = []; - // add to table additions + // Add to table additions localTableAddition?.columns.push(column); } - // delete from column additions + // Delete from column additions delete localColumnAdditions[tableName][columnName]; } delete localColumnAdditions[tableName]; @@ -926,8 +936,7 @@ export const editsToMigrations = (command: EditSchema) => { } if (uniqueRemoved) { - // should changing the name of a column also change the name of the unique constraint? - // we dont do that in the front end either + // Should changing the name of a column also change the name of the unique constraint? const uniqueConstraintName = Object.values( // @ts-ignore command.branchDetails?.schema.tables.find((table) => tableName === table.name)?.uniqueConstraints ?? {} From 6a9a2aac6918711e875774c204f6a21d6e698037 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Apr 2024 12:19:14 +0200 Subject: [PATCH 073/145] more native types --- cli/src/commands/schema/edit.test.ts | 13 ++++++++++ cli/src/commands/schema/edit.ts | 2 ++ cli/src/migrations/pgroll.ts | 39 ++++++++++++++++++++++++---- 3 files changed, 49 insertions(+), 5 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index b5803b92f..593bfb4e6 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -49,6 +49,19 @@ class mockEdit { primaryKey: [], uniqueConstraints: {}, columns: [column] + }, + { + name: 'table2', + checkConstraints: {}, + foreignKeys: {}, + primaryKey: [], + uniqueConstraints: {}, + columns: [ + { + ...column, + type: 'varchar(255)' + } + ] } ] }, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 90a73d206..6f946fceb 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -262,6 +262,7 @@ export default class EditSchema extends BaseCommand { ); this.success('Migration completed!'); + process.exit(0); } catch (err) { if (err) throw err; // User cancelled @@ -1010,6 +1011,7 @@ const formatColumnDataToPgroll = ( tableName: column.tableName, column: { name: column.name, + type: xataColumnTypeToPgRoll(column.type as any), references: column.type === 'link' diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index b03ec73e8..be0cafd1b 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -5,6 +5,7 @@ import { XataClient } from '../base.js'; import { Column } from '@xata.io/codegen'; import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import z from 'zod'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -48,21 +49,46 @@ const getPgRollLink = (table: any, column: any) => { return null; }; -function pgRollToXataColumnType(type: string): string { +export const xataStringColumns = ['email', 'text', 'string'] as const; + +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +export type XataStringColumnType = z.infer; + +const narrowStringType = (comment?: string): Column['type'] => { + console.log('..........commmm', comment); + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; + +function pgRollToXataColumnType(type: string, comment?: string): string { switch (type) { case 'boolean': + case 'bool': return 'bool'; case 'bigint': + case 'int8': case 'integer': + case 'int': + case 'int4': + case 'smallint': return 'int'; case 'double precision': + case 'float8': + case 'real': return 'float'; case 'text': - return 'text'; + case 'varchar': + case 'character varying': + return narrowStringType(comment); case 'timestamptz': return 'datetime'; case 'text[]': return 'multiple'; + case 'json': case 'jsonb': return 'json'; case 'xata_file': @@ -71,9 +97,12 @@ function pgRollToXataColumnType(type: string): string { return 'file[]'; case 'real[]': return 'vector'; - default: - return type; } + + if (type.startsWith('character(') || type.startsWith('varchar(')) return 'string'; + if (type.startsWith('numeric(')) return 'float'; + + return type; } export async function getBranchDetailsWithPgRoll( @@ -109,7 +138,7 @@ export async function getBranchDetailsWithPgRoll( .filter((column: any) => !['_id', '_createdat', '_updatedat', '_version'].includes(column.name)) .map((column: any) => ({ name: column.name, - type: getPgRollLink(table, column) ? 'link' : pgRollToXataColumnType(column.type), + type: getPgRollLink(table, column) ? 'link' : pgRollToXataColumnType(column.type, column.comment), link: getPgRollLink(table, column) ? { table: getPgRollLink(table, column).referencedTable } : undefined, file: pgRollToXataColumnType(column.type) === 'file' || pgRollToXataColumnType(column.type) === 'file[]' From 8df42b9977535a6308ccbe93d489418db3b18964 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Apr 2024 13:14:47 +0200 Subject: [PATCH 074/145] move up one level --- cli/src/commands/schema/edit.test.ts | 16 +++++++--------- cli/src/commands/schema/edit.ts | 24 ++++++++++++------------ 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 593bfb4e6..592b0ea09 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -202,10 +202,10 @@ const testCases: TestCase[] = [ name: 'col1', type: 'bigint', references: undefined, - up: '0', nullable: false, unique: false - } + }, + up: '0' } } ] @@ -618,8 +618,7 @@ const testCases: TestCase[] = [ nullable: false, unique: false, default: undefined, - references: undefined, - up: '0' + references: undefined } ] } @@ -647,8 +646,7 @@ const testCases: TestCase[] = [ nullable: false, unique: false, default: undefined, - references: undefined, - up: '0' + references: undefined } ] } @@ -749,9 +747,9 @@ const testCases: TestCase[] = [ nullable: false, unique: true, default: undefined, - references: undefined, - up: '0' - } + references: undefined + }, + up: '0' } } ] diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 6f946fceb..251e70ebb 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -417,7 +417,7 @@ export default class EditSchema extends BaseCommand { name: 'name', message: 'The name of the column', initial: this.getColumnNameEdit({ column }) ?? column.originalName, - validate: (value: string, state: ValidationState) => this.validateColumnName(value, state, column) + validate: this.validateColumnName }, { name: 'nullable', @@ -500,7 +500,7 @@ export default class EditSchema extends BaseCommand { { name: 'name', message: 'The name of the column', - validate: (value: string, state: ValidationState) => this.validateColumnName(value, state, column) + validate: this.validateColumnName }, { name: 'type', @@ -675,16 +675,16 @@ export default class EditSchema extends BaseCommand { return !emptyString(value) && !isReservedXataFieldName(value); }; - validateColumnName = (value: string, state: ValidationState, column: ColumnData) => { + validateColumnName = (value: string) => { if (value === undefined) return 'Name cannot be undefined'; if (emptyString(value)) return 'Name cannot be empty'; return !isReservedXataFieldName(value); }; - validateColumnNullable = (value: string, state: ValidationState) => { + validateColumnNullable = (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Nullable field must be a boolean'; return true; }; - validateColumnUnique = (value: string, state: ValidationState) => { + validateColumnUnique = (value: string) => { if (parseBoolean(value) === undefined) return 'Invalid value. Unique field must be a boolean'; return true; }; @@ -843,9 +843,10 @@ export const editsToMigrations = (command: EditSchema) => { const columnAdditions: { add_column: OpAddColumn }[] = []; for (const [_, columns] of Object.entries(localColumnAdditions)) { columnAdditions.push( - ...formatColumnDataToPgroll(Object.values(columns)).map(({ column, tableName }) => { + ...formatColumnDataToPgroll(Object.values(columns)).map(({ column, tableName, up }) => { return { add_column: { + up, column, table: tableName } @@ -1006,12 +1007,14 @@ const formatSchemaColumnToColumnData = ({ const formatColumnDataToPgroll = ( columns: AddColumnPayload['column'][] -): { column: OpAddColumn['column']; tableName: string }[] => { +): { column: OpAddColumn['column']; tableName: string; up?: string }[] => { return columns.map((column) => ({ tableName: column.tableName, + up: requiresUpArgument(column.nullable === false, column.defaultValue) + ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) + : undefined, column: { name: column.name, - type: xataColumnTypeToPgRoll(column.type as any), references: column.type === 'link' @@ -1022,10 +1025,7 @@ const formatColumnDataToPgroll = ( nullable: parseBoolean(String(column.nullable)) ?? true, unique: parseBoolean(String(column.unique)) ?? false, check: xataColumnTypeToPgRollConstraint(column as any, column.tableName), - comment: xataColumnTypeToPgRollComment(column as any), - up: requiresUpArgument(column.nullable === false, column.defaultValue) - ? xataColumnTypeToZeroValue(column.type as any, column.defaultValue) - : undefined + comment: xataColumnTypeToPgRollComment(column as any) } })); }; From fed2a06b167d003ff3eb09c8c1685c686da3204f Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Apr 2024 14:48:58 +0200 Subject: [PATCH 075/145] use original name for combined alter statements --- cli/src/commands/schema/edit.ts | 72 ++++++++++++++++----------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 251e70ebb..0a8b01bc6 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -891,18 +891,44 @@ export const editsToMigrations = (command: EditSchema) => { const uniqueAdded = unique !== originalField.unique && unique === true; const uniqueRemoved = unique !== originalField.unique && unique === false; + if (uniqueRemoved) { + // Should changing the name of a column also change the name of the unique constraint? + const uniqueConstraintName = Object.values( + // @ts-ignore + command.branchDetails?.schema.tables.find((table) => tableName === table.name)?.uniqueConstraints ?? {} + ).find( + (constraint: any) => constraint.columns.length === 1 && constraint.columns[0] === originalField.name + // @ts-ignore + )?.name; + + const maybeDropStatement = + uniqueRemoved && uniqueConstraintName + ? { + drop_constraint: { + table: tableName, + column: originalField.name, + name: uniqueConstraintName, + up: `"${originalField.name}"`, + down: `"${originalField.name}"` + } + } + : undefined; + + if (maybeDropStatement) { + columnEdits.push(maybeDropStatement); + } + } + const uniqueValue = uniqueAdded ? { unique: { - name: `${tableName}_${name}_unique` + name: `${tableName}_${originalField.name}_unique` }, - up: `"${name}"`, - down: `"${name}"` + up: `"${originalField.name}"`, + down: `"${originalField.name}"` } : undefined; - const nameToUse = nameChanged ? name : originalField.name; - const nullValue = nullableChanged ? { up: @@ -910,15 +936,15 @@ export const editsToMigrations = (command: EditSchema) => { ? `(SELECT CASE WHEN "${originalField.name}" IS NULL THEN ${xataColumnTypeToZeroValue( originalField.type, originalField.defaultValue - )} ELSE "${nameToUse}" END)` - : `"${nameToUse}"`, + )} ELSE "${originalField.name}" END)` + : `"${originalField.name}"`, down: nullable === true - ? `"${nameToUse}"` + ? `"${originalField.name}"` : `(SELECT CASE WHEN "${originalField.name}" IS NULL THEN ${xataColumnTypeToZeroValue( originalField.type, originalField.defaultValue - )} ELSE "${nameToUse}" END)` + )} ELSE "${originalField.name}" END)` } : undefined; @@ -936,34 +962,6 @@ export const editsToMigrations = (command: EditSchema) => { if (nullableChanged || nameChanged || uniqueAdded) { columnEdits.push(alterStatement); } - - if (uniqueRemoved) { - // Should changing the name of a column also change the name of the unique constraint? - const uniqueConstraintName = Object.values( - // @ts-ignore - command.branchDetails?.schema.tables.find((table) => tableName === table.name)?.uniqueConstraints ?? {} - ).find( - (constraint: any) => constraint.columns.length === 1 && constraint.columns[0] === originalField.name - // @ts-ignore - )?.name; - - const maybeDropStatement = - uniqueRemoved && uniqueConstraintName - ? { - drop_constraint: { - table: tableName, - column: originalField.name, - name: uniqueConstraintName, - up: `"${nameToUse}"`, - down: `"${nameToUse}"` - } - } - : undefined; - - if (maybeDropStatement) { - columnEdits.push(maybeDropStatement); - } - } }); } } From cc6f62229ed066c326de86ec16c447ab03ffc0a7 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 076/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From a33e0623754650832dd94255e701d17a3f186672 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 077/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From a0ea12b582361348fae717792585da426e719df0 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 078/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 1495b46e4c2871af6eae5743006d8a6db8bbeb8e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 079/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 ----- packages/client/src/schema/cache.ts | 53 --- packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 -- packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 ------------------ packages/plugin-client-cache/package.json | 33 -- .../plugin-client-cache/rollup.config.mjs | 29 -- packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 -- packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 -------------- .../plugin-client-cloudflare/package.json | 28 -- .../rollup.config.mjs | 29 -- .../plugin-client-cloudflare/src/cache.ts | 88 ---- .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 -- pnpm-lock.yaml | 24 -- test/integration/cache.test.ts | 113 ----- test/utils/setup.ts | 7 +- 27 files changed, 2 insertions(+), 1343 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index deadc8b68..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 8e6a88e85..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240405.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fa13d805..6f701106a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -390,25 +390,6 @@ importers: specifier: ^4.7.2 version: 4.7.2 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240405.0 - version: 4.20240405.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -3172,11 +3153,6 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240405.0: - resolution: - { integrity: sha512-sEVOhyOgXUwfLkgHqbLZa/sfkSYrh7/zLmI6EZNibPaVPvAnAcItbNNl3SAlLyLKuwf8m4wAIAgu9meKWCvXjg== } - dev: false - /@cspotcode/source-map-support@0.8.1: resolution: { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From 1779c52f5f7ff81f1a91939806aff83aabbb8922 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 080/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From 9cc556cb816bb66a41fd894890861dac2844dc39 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 081/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From dfe23cae85d20872cb9922728b52d0bb33d0cbd3 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 082/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 31e5f84fb15d22344a55dad49b03cd50aeec47ac Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 083/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 850edd56b2cc9aa65077aa72572db520f7675e90 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 084/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From d1afb7cdf8b482038b47950e8dcd892cb9a8682a Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 085/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From 6c6f3e997e189d06c76a84446f25edcd856f01b8 Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 086/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 04dce0b02a881cd62d46246b6a44b598ff7cfac1 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 22 Apr 2024 08:51:45 +0200 Subject: [PATCH 087/145] clean --- cli/src/commands/schema/edit.test.ts | 2 -- cli/src/commands/schema/edit.ts | 2 +- cli/src/migrations/pgroll.ts | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index 592b0ea09..cb83c1a27 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -14,8 +14,6 @@ import EditSchema, { editsToMigrations } from './edit'; const column: AddColumnPayload['column'] = { name: 'col1', - defaultValue: undefined, - link: undefined, type: 'string', unique: false, nullable: true, diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 0a8b01bc6..306ea8869 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -66,7 +66,7 @@ export default class EditSchema extends BaseCommand { ...this.databaseURLFlag, branch: this.branchFlag, source: Flags.boolean({ - description: 'Edit a migration as a JSON document in your default editor' + description: 'Edit the schema as a JSON document in your default editor' }) }; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index be0cafd1b..5c212f004 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -58,7 +58,6 @@ const XataStringColumn = z.object({ export type XataStringColumnType = z.infer; const narrowStringType = (comment?: string): Column['type'] => { - console.log('..........commmm', comment); if (!comment) return 'text'; const result = XataStringColumn.safeParse(JSON.parse(comment)); return result.success ? result.data['xata.type'] : 'text'; From 5974a511b1521ef477cf48210431af158ebc05d6 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 088/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From 70cb63e8b7863b47b90dbde6172e15b1aa2cffc8 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 089/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From ee934a92c08b689092c1c9c976fdf00c9be66c4f Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 090/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 4e3a0b2cae57675f6317902172db0b620b6c4b0e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 091/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 ----- packages/client/src/schema/cache.ts | 53 --- packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 -- packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 ------------------ packages/plugin-client-cache/package.json | 33 -- .../plugin-client-cache/rollup.config.mjs | 29 -- packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 -- packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 -------------- .../plugin-client-cloudflare/package.json | 28 -- .../rollup.config.mjs | 29 -- .../plugin-client-cloudflare/src/cache.ts | 88 ---- .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 -- pnpm-lock.yaml | 24 -- test/integration/cache.test.ts | 113 ----- test/utils/setup.ts | 7 +- 27 files changed, 2 insertions(+), 1343 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index deadc8b68..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 8e6a88e85..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240405.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fa13d805..6f701106a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -390,25 +390,6 @@ importers: specifier: ^4.7.2 version: 4.7.2 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240405.0 - version: 4.20240405.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -3172,11 +3153,6 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240405.0: - resolution: - { integrity: sha512-sEVOhyOgXUwfLkgHqbLZa/sfkSYrh7/zLmI6EZNibPaVPvAnAcItbNNl3SAlLyLKuwf8m4wAIAgu9meKWCvXjg== } - dev: false - /@cspotcode/source-map-support@0.8.1: resolution: { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From f48ef17a5a4b3713c3f1baac1931cd56a647ea7f Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 092/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From c6b870b9e7ae84484095cdea6174e6f2cc7fb549 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 093/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From 6003870d1ce2c33ec2556fbe459e1889b9f33ee5 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 094/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From c7859c75b0716a6327948d40991af12cf728ee0e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 095/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 29587b9373a024779489648e2e7fbe88bd64b7a3 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 096/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From f7bd32f6f1c782934c89ffc8d37eaea5ceac4a67 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 097/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From 5c5370fc4505984081ce827d2887893ecc3fa636 Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 098/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 4be38b2aef4bd71f67a79f8ff410b900f30ea3ee Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 099/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From 7a76f07a14b3ec7b5eecaef6a70cee9fd48b4289 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 100/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From 46c5130ff067b576be33ad6f62f950a2014081f3 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 101/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 1dc04542013895e5717f92510da0042930657f0a Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 102/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 - packages/client/src/schema/cache.ts | 53 - packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 - packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 - packages/plugin-client-cache/package.json | 33 - .../plugin-client-cache/rollup.config.mjs | 29 - packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 - packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 - .../plugin-client-cloudflare/package.json | 28 - .../rollup.config.mjs | 29 - .../plugin-client-cloudflare/src/cache.ts | 88 - .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 - pnpm-lock.yaml | 7581 +++++++---------- test/integration/cache.test.ts | 113 - test/utils/setup.ts | 7 +- 27 files changed, 2885 insertions(+), 6017 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index deadc8b68..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 3b4b3b8ae..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240423.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf2e54103..af299ddb9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@babel/core': @@ -390,25 +391,6 @@ importers: specifier: ^4.7.2 version: 4.7.2 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240423.0 - version: 4.20240423.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -467,23 +449,21 @@ importers: version: link:../client packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: - resolution: - { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: - { integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg== } + resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -518,8 +498,7 @@ packages: dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -527,8 +506,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -536,15 +514,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -556,8 +532,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -570,8 +545,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -579,15 +553,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -595,9 +567,8 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: - { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -647,9 +618,8 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: - { integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -713,9 +683,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -764,9 +733,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -815,9 +783,8 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: - { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -862,9 +829,8 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: - { integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -909,9 +875,8 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -959,9 +924,8 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -1009,9 +973,8 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: - { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1023,9 +986,8 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: - { integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1037,9 +999,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1048,9 +1009,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: - { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1064,9 +1024,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: - { integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1080,9 +1039,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1101,9 +1059,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1122,9 +1079,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: - { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -1143,9 +1099,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: - { integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -1164,9 +1119,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1176,9 +1130,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -1193,9 +1146,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -1210,9 +1162,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1225,9 +1176,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1240,9 +1190,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1254,9 +1203,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1265,9 +1213,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -1280,9 +1227,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1291,9 +1237,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1301,9 +1246,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1311,9 +1255,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1322,9 +1265,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: - { integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1338,9 +1280,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: - { integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1352,9 +1293,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: - { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1362,9 +1302,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: - { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1374,9 +1313,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: - { integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -1386,9 +1324,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1399,9 +1336,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: - { integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -1412,9 +1348,8 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1428,9 +1363,8 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1444,26 +1378,23 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: - { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1472,9 +1403,8 @@ packages: dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: - { integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1483,16 +1413,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.465.0: - resolution: - { integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1501,9 +1429,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: - { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1517,44 +1444,38 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: - { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 /@babel/compat-data@7.24.1: - resolution: - { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} /@babel/compat-data@7.24.4: - resolution: - { integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.24.4: - resolution: - { integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.24.2 @@ -1575,9 +1496,8 @@ packages: - supports-color /@babel/generator@7.24.4: - resolution: - { integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -1585,25 +1505,22 @@ packages: jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: - { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 @@ -1612,9 +1529,8 @@ packages: semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1631,9 +1547,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1650,9 +1565,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): - resolution: - { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1663,8 +1577,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1679,44 +1592,38 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.23.0: - resolution: - { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: - { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: - { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1728,23 +1635,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): - resolution: - { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1755,9 +1659,8 @@ packages: dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1768,46 +1671,39 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: - resolution: - { integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: - { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.23.5: - resolution: - { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.20: - resolution: - { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 @@ -1815,9 +1711,8 @@ packages: dev: true /@babel/helpers@7.24.4: - resolution: - { integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -1826,9 +1721,8 @@ packages: - supports-color /@babel/highlight@7.24.2: - resolution: - { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -1836,34 +1730,30 @@ packages: picocolors: 1.0.0 /@babel/parser@7.23.3: - resolution: - { integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/parser@7.24.1: - resolution: - { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/parser@7.24.4: - resolution: - { integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1873,9 +1763,8 @@ packages: dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1884,9 +1773,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1897,9 +1785,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1909,9 +1796,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): - resolution: - { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1919,8 +1805,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1929,8 +1814,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1939,9 +1823,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1950,8 +1833,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1960,8 +1842,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1970,9 +1851,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,9 +1861,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1992,8 +1871,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2002,8 +1880,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2012,9 +1889,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2023,8 +1899,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2033,8 +1908,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2043,8 +1917,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2053,8 +1926,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2063,8 +1935,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2073,8 +1944,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2083,9 +1953,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2094,9 +1963,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2105,9 +1973,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2116,9 +1983,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): - resolution: - { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2128,9 +1994,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2139,9 +2004,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2153,9 +2017,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2166,9 +2029,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2177,9 +2039,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2188,9 +2049,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2200,9 +2060,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2213,9 +2072,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2231,9 +2089,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2243,9 +2100,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2254,9 +2110,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2266,9 +2121,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2277,9 +2131,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2289,9 +2142,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2301,9 +2153,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2313,9 +2164,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2325,9 +2175,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2338,9 +2187,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2350,9 +2198,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2361,9 +2208,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2373,9 +2219,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2384,9 +2229,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2396,9 +2240,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2409,9 +2252,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2423,9 +2265,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2435,9 +2276,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2447,9 +2287,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2458,9 +2297,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2470,9 +2308,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2482,9 +2319,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2496,9 +2332,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2508,9 +2343,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2520,9 +2354,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2533,9 +2366,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2544,9 +2376,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2556,9 +2387,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2570,9 +2400,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2581,9 +2410,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2593,9 +2421,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2604,9 +2431,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2615,9 +2441,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2627,9 +2452,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2638,9 +2462,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2649,9 +2472,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2660,9 +2482,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2674,9 +2495,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2685,9 +2505,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2697,9 +2516,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2709,9 +2527,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2721,9 +2538,8 @@ packages: dev: true /@babel/preset-env@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2814,8 +2630,7 @@ packages: dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): - resolution: - { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: @@ -2826,9 +2641,8 @@ packages: dev: true /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2841,31 +2655,27 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.23.1: - resolution: - { integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 dev: true /@babel/template@7.24.0: - resolution: - { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: - resolution: - { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -2881,24 +2691,21 @@ packages: - supports-color /@babel/types@7.24.0: - resolution: - { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@bugsnag/browser@7.21.0: - resolution: - { integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA== } + resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: - { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } + resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2908,21 +2715,18 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: - { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } + resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} dev: false /@bugsnag/js@7.21.0: - resolution: - { integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg== } + resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} dependencies: '@bugsnag/browser': 7.21.0 '@bugsnag/node': 7.19.0 dev: false /@bugsnag/node@7.19.0: - resolution: - { integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w== } + resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2933,27 +2737,23 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: - { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: - { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: - { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: - { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.23.1 '@changesets/config': 3.0.0 @@ -2971,8 +2771,7 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: - { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2983,15 +2782,13 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: - { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: - { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -3001,8 +2798,7 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: - { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.23.1 @@ -3040,8 +2836,7 @@ packages: dev: true /@changesets/config@3.0.0: - resolution: - { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -3053,15 +2848,13 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: - { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: - { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -3071,8 +2864,7 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: - { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -3081,8 +2873,7 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: - { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/assemble-release-plan': 6.0.0 @@ -3094,13 +2885,11 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: - { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true /@changesets/git@3.0.0: - resolution: - { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3112,23 +2901,20 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: - { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: - { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: - { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3138,8 +2924,7 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: - { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/git': 3.0.0 @@ -3152,18 +2937,15 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: - { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true /@changesets/types@6.0.0: - resolution: - { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true /@changesets/write@0.3.0: - resolution: - { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 6.0.0 @@ -3172,57 +2954,45 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240423.0: - resolution: - { integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw== } - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: - { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: - { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } - engines: { node: '>=16' } + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: - { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} dev: false /@edge-runtime/primitives@4.1.0: - resolution: - { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} dev: false /@edge-runtime/vm@3.2.0: - resolution: - { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: - { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3230,9 +3000,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3240,9 +3009,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: - { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3250,9 +3018,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.2: - resolution: - { integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3260,9 +3027,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3270,9 +3036,8 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: - { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3280,9 +3045,8 @@ packages: optional: true /@esbuild/android-arm@0.19.2: - resolution: - { integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3290,9 +3054,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3300,9 +3063,8 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: - { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3310,9 +3072,8 @@ packages: optional: true /@esbuild/android-x64@0.19.2: - resolution: - { integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3320,9 +3081,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3330,9 +3090,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: - { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3340,9 +3099,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.2: - resolution: - { integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3350,9 +3108,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3360,9 +3117,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: - { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3370,9 +3126,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.2: - resolution: - { integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3380,9 +3135,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3390,9 +3144,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: - { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3400,9 +3153,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.2: - resolution: - { integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3410,9 +3162,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3420,9 +3171,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: - { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3430,9 +3180,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.2: - resolution: - { integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3440,9 +3189,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3450,9 +3198,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: - { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3460,9 +3207,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.2: - resolution: - { integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3470,9 +3216,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3480,9 +3225,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: - { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3490,9 +3234,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.2: - resolution: - { integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3500,9 +3243,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3510,9 +3252,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: - { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3520,9 +3261,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.2: - resolution: - { integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3530,9 +3270,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3540,9 +3279,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: - { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3550,9 +3288,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.2: - resolution: - { integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3560,9 +3297,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3570,9 +3306,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: - { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3580,9 +3315,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.2: - resolution: - { integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3590,9 +3324,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3600,9 +3333,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: - { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3610,9 +3342,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.2: - resolution: - { integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3620,9 +3351,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3630,9 +3360,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: - { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3640,9 +3369,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.2: - resolution: - { integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3650,9 +3378,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3660,9 +3387,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: - { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3670,9 +3396,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.2: - resolution: - { integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3680,9 +3405,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3690,9 +3414,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: - { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3700,9 +3423,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.2: - resolution: - { integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3710,9 +3432,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3720,9 +3441,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: - { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3730,9 +3450,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.2: - resolution: - { integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3740,9 +3459,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3750,9 +3468,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: - { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3760,9 +3477,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.2: - resolution: - { integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3770,9 +3486,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3780,9 +3495,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: - { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3790,9 +3504,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.2: - resolution: - { integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3800,9 +3513,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3810,9 +3522,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: - { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3820,9 +3531,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.2: - resolution: - { integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3830,9 +3540,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3840,9 +3549,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: - { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3850,9 +3558,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.2: - resolution: - { integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3860,9 +3567,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3870,9 +3576,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: - { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3880,9 +3585,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.2: - resolution: - { integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3890,9 +3594,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3900,9 +3603,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): - resolution: - { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3911,15 +3613,13 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: - { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@3.0.2: - resolution: - { integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -3935,25 +3635,21 @@ packages: dev: true /@eslint/js@9.1.1: - resolution: - { integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /@exodus/schemasafe@1.3.0: - resolution: - { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true /@faker-js/faker@8.4.1: - resolution: - { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: - { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3961,17 +3657,15 @@ packages: dev: true /@grpc/grpc-js@1.9.3: - resolution: - { integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA== } - engines: { node: ^8.13.0 || >=10.10.0 } + resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} + engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.10 '@types/node': 20.12.7 /@grpc/proto-loader@0.7.10: - resolution: - { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} hasBin: true dependencies: lodash.camelcase: 4.3.0 @@ -3980,9 +3674,8 @@ packages: yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: - { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} + engines: {node: '>=14'} dependencies: '@grpc/grpc-js': 1.9.3 '@opentelemetry/api': 1.8.0 @@ -4001,9 +3694,8 @@ packages: dev: false /@humanwhocodes/config-array@0.13.0: - resolution: - { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@9.4.0) @@ -4013,54 +3705,46 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/momoa@2.0.4: - resolution: - { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} dev: false /@humanwhocodes/object-schema@2.0.3: - resolution: - { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@humanwhocodes/retry@0.2.3: - resolution: - { integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g== } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} dev: true /@import-maps/resolve@1.0.1: - resolution: - { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } + resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: false /@inquirer/confirm@3.1.4: - resolution: - { integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.5: - resolution: - { integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.1 '@inquirer/type': 1.3.0 /@inquirer/core@7.1.2: - resolution: - { integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw==} + engines: {node: '>=18'} dependencies: '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 @@ -4078,9 +3762,8 @@ packages: dev: true /@inquirer/core@8.0.0: - resolution: - { integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -4098,9 +3781,8 @@ packages: dev: true /@inquirer/core@8.0.1: - resolution: - { integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.0 @@ -4117,29 +3799,25 @@ packages: wrap-ansi: 6.2.0 /@inquirer/figures@1.0.0: - resolution: - { integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} dev: true /@inquirer/figures@1.0.1: - resolution: - { integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + engines: {node: '>=18'} /@inquirer/input@2.1.1: - resolution: - { integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 dev: true /@inquirer/select@2.2.1: - resolution: - { integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 @@ -4149,14 +3827,12 @@ packages: dev: true /@inquirer/type@1.3.0: - resolution: - { integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} /@isaacs/cliui@8.0.2: - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -4167,17 +3843,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: - { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -4187,45 +3861,38 @@ packages: dev: false /@jridgewell/gen-mapping@0.3.5: - resolution: - { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/resolve-uri@3.1.1: - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.2.1: - resolution: - { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} /@jridgewell/trace-mapping@0.3.25: - resolution: - { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@manypkg/find-root@1.1.0: - resolution: - { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.23.1 '@types/node': 12.20.55 @@ -4234,8 +3901,7 @@ packages: dev: true /@manypkg/get-packages@1.1.3: - resolution: - { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 4.1.0 @@ -4246,8 +3912,7 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: - { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: detect-libc: 2.0.2 @@ -4265,15 +3930,13 @@ packages: dev: false /@mswjs/cookies@1.1.0: - resolution: - { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} + engines: {node: '>=18'} dev: true /@mswjs/interceptors@0.26.15: - resolution: - { integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ==} + engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4284,14 +3947,12 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: - { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } + resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: false /@netlify/build@29.20.6(@types/node@20.12.7): - resolution: - { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.21.0 @@ -4359,9 +4020,8 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: - { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -4374,9 +4034,8 @@ packages: dev: false /@netlify/config@20.9.0: - resolution: - { integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.3.0 @@ -4406,9 +4065,8 @@ packages: dev: false /@netlify/edge-bundler@8.18.0: - resolution: - { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -4435,9 +4093,8 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: - { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4445,9 +4102,8 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: - { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4455,9 +4111,8 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: - { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4465,9 +4120,8 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: - { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4475,9 +4129,8 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: - { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4485,9 +4138,8 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: - { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4495,9 +4147,8 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: - { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4505,9 +4156,8 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: - { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4515,9 +4165,8 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: - { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4525,9 +4174,8 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: - { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4535,9 +4183,8 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: - { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4545,9 +4192,8 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: - { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4555,9 +4201,8 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: - { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4565,9 +4210,8 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: - { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4575,9 +4219,8 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: - { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4585,9 +4228,8 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: - { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4595,9 +4237,8 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: - { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4605,9 +4246,8 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: - { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4615,9 +4255,8 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: - { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4625,9 +4264,8 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: - { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4635,9 +4273,8 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: - { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -4664,9 +4301,8 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: - { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -4681,9 +4317,8 @@ packages: dev: false /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: - { integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) cpy: 9.0.1 @@ -4694,9 +4329,8 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: - { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -4706,43 +4340,37 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: - { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} dev: false /@netlify/open-api@2.22.0: - resolution: - { integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow== } + resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} dev: false /@netlify/plugins-list@6.71.0: - resolution: - { integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} + engines: {node: ^14.14.0 || >=16.0.0} dev: false /@netlify/run-utils@5.1.1: - resolution: - { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: false /@netlify/serverless-functions-api@1.7.3: - resolution: - { integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: - { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4783,9 +4411,8 @@ packages: dev: false /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: - { integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4826,30 +4453,26 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} /@nodelib/fs.walk@1.2.8: - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 /@oclif/core@3.26.4: - resolution: - { integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w==} + engines: {node: '>=18.0.0'} dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4881,16 +4504,14 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.21: - resolution: - { integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 /@oclif/plugin-not-found@3.1.6: - resolution: - { integrity: sha512-87ckgDz+to7WySD7vrbELfWtK6uiaA8qf1Sp1AvU7m87tMSYOAkE7Jr+hX3MLpwM5Lt5nksG6t/gzP0PwSIKnA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-87ckgDz+to7WySD7vrbELfWtK6uiaA8qf1Sp1AvU7m87tMSYOAkE7Jr+hX3MLpwM5Lt5nksG6t/gzP0PwSIKnA==} + engines: {node: '>=18.0.0'} dependencies: '@inquirer/confirm': 3.1.5 '@oclif/core': 3.26.4 @@ -4898,9 +4519,8 @@ packages: fast-levenshtein: 3.0.0 /@oclif/plugin-plugins@5.0.14: - resolution: - { integrity: sha512-5LM3w2PPfB6qMtgrAq+n8hG295i4vbnuPfQN4wPGLJq1tIiDpBEAX1XHnGhUdAeU0V8CU2AnjiucXFMTKvIdow== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-5LM3w2PPfB6qMtgrAq+n8hG295i4vbnuPfQN4wPGLJq1tIiDpBEAX1XHnGhUdAeU0V8CU2AnjiucXFMTKvIdow==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4916,9 +4536,8 @@ packages: dev: false /@oclif/plugin-warn-if-update-available@3.0.15: - resolution: - { integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4930,26 +4549,22 @@ packages: dev: true /@open-draft/deferred-promise@2.2.0: - resolution: - { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true /@open-draft/logger@0.3.0: - resolution: - { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: - { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@openapi-codegen/cli@2.0.1(react@17.0.2): - resolution: - { integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ== } + resolution: {integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ==} hasBin: true dependencies: '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) @@ -4985,8 +4600,7 @@ packages: dev: true /@openapi-codegen/typescript@8.0.1: - resolution: - { integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ== } + resolution: {integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ==} dependencies: case: 1.6.3 lodash: 4.17.21 @@ -4998,22 +4612,19 @@ packages: dev: true /@opentelemetry/api-logs@0.50.0: - resolution: - { integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==} + engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: - { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5021,9 +4632,8 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5031,9 +4641,8 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5042,9 +4651,8 @@ packages: dev: false /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5053,9 +4661,8 @@ packages: dev: false /@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5063,9 +4670,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5077,9 +4683,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5094,9 +4699,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5109,9 +4713,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5126,9 +4729,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5142,9 +4744,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5158,9 +4759,8 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } - engines: { node: '>=14' } + resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5173,9 +4773,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5189,9 +4788,8 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5203,9 +4801,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5218,9 +4815,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5236,9 +4832,8 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5247,9 +4842,8 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5258,9 +4852,8 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5272,9 +4865,8 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5286,9 +4878,8 @@ packages: dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5299,9 +4890,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5313,9 +4903,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5329,9 +4918,8 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5340,9 +4928,8 @@ packages: dev: false /@opentelemetry/propagator-b3@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5351,9 +4938,8 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5362,9 +4948,8 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5373,9 +4958,8 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5385,9 +4969,8 @@ packages: dev: false /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5397,9 +4980,8 @@ packages: dev: false /@opentelemetry/resources@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5408,9 +4990,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/sdk-logs@0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -5422,9 +5003,8 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5435,9 +5015,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.8.0' dependencies: @@ -5448,9 +5027,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5461,9 +5039,8 @@ packages: dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5485,9 +5062,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5498,9 +5074,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5510,9 +5085,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5526,9 +5100,8 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5542,86 +5115,70 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: - { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.18.1: - resolution: - { integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.23.0: - resolution: - { integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==} + engines: {node: '>=14'} /@pkgjs/parseargs@0.11.0: - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} /@protobufjs/base64@1.1.2: - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} /@protobufjs/codegen@2.0.4: - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} /@protobufjs/eventemitter@1.1.0: - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} /@protobufjs/fetch@1.1.0: - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} /@protobufjs/inquire@1.1.0: - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} /@protobufjs/path@1.1.2: - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} /@protobufjs/pool@1.1.0: - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} /@protobufjs/utf8@1.1.0: - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} /@rollup/pluginutils@4.2.1: - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false /@rollup/pluginutils@5.0.5(rollup@4.16.4): - resolution: - { integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5635,8 +5192,7 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.16.4: - resolution: - { integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== } + resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} cpu: [arm] os: [android] requiresBuild: true @@ -5644,8 +5200,7 @@ packages: optional: true /@rollup/rollup-android-arm64@4.16.4: - resolution: - { integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== } + resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} cpu: [arm64] os: [android] requiresBuild: true @@ -5653,8 +5208,7 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.16.4: - resolution: - { integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== } + resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -5662,8 +5216,7 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.16.4: - resolution: - { integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== } + resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} cpu: [x64] os: [darwin] requiresBuild: true @@ -5671,8 +5224,7 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.16.4: - resolution: - { integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== } + resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} cpu: [arm] os: [linux] requiresBuild: true @@ -5680,8 +5232,7 @@ packages: optional: true /@rollup/rollup-linux-arm-musleabihf@4.16.4: - resolution: - { integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== } + resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} cpu: [arm] os: [linux] requiresBuild: true @@ -5689,8 +5240,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.16.4: - resolution: - { integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== } + resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5698,8 +5248,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.16.4: - resolution: - { integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== } + resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5707,8 +5256,7 @@ packages: optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.16.4: - resolution: - { integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== } + resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} cpu: [ppc64] os: [linux] requiresBuild: true @@ -5716,8 +5264,7 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.16.4: - resolution: - { integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== } + resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} cpu: [riscv64] os: [linux] requiresBuild: true @@ -5725,8 +5272,7 @@ packages: optional: true /@rollup/rollup-linux-s390x-gnu@4.16.4: - resolution: - { integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== } + resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} cpu: [s390x] os: [linux] requiresBuild: true @@ -5734,8 +5280,7 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.16.4: - resolution: - { integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== } + resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} cpu: [x64] os: [linux] requiresBuild: true @@ -5743,8 +5288,7 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.16.4: - resolution: - { integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== } + resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} cpu: [x64] os: [linux] requiresBuild: true @@ -5752,8 +5296,7 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.16.4: - resolution: - { integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== } + resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -5761,8 +5304,7 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.16.4: - resolution: - { integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== } + resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} cpu: [ia32] os: [win32] requiresBuild: true @@ -5770,8 +5312,7 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.16.4: - resolution: - { integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== } + resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} cpu: [x64] os: [win32] requiresBuild: true @@ -5779,42 +5320,36 @@ packages: optional: true /@sinclair/typebox@0.27.8: - resolution: - { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@5.6.0: - resolution: - { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} /@sindresorhus/merge-streams@2.3.0: - resolution: - { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} dev: true /@sindresorhus/slugify@2.2.1: - resolution: - { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + engines: {node: '>=12'} dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: - { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /@size-limit/esbuild@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5824,9 +5359,8 @@ packages: dev: true /@size-limit/file@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5834,8 +5368,7 @@ packages: dev: true /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } + resolution: {integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ==} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5845,33 +5378,29 @@ packages: dev: true /@smithy/abort-controller@2.2.0: - resolution: - { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: - { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5881,9 +5410,8 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: - { integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -5896,9 +5424,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5908,8 +5435,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5918,9 +5444,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5928,18 +5453,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5947,9 +5470,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5957,8 +5479,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -5968,8 +5489,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -5978,9 +5498,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -5989,9 +5508,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5999,24 +5517,21 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6024,9 +5539,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -6034,9 +5548,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: - { integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -6048,9 +5561,8 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: - { integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -6064,27 +5576,24 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -6093,9 +5602,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -6105,27 +5613,24 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -6133,35 +5638,31 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: - { integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -6173,9 +5674,8 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: - { integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -6186,16 +5686,14 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: - { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: - { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -6203,9 +5701,8 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: - { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -6213,41 +5710,36 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: - { integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -6257,9 +5749,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: - { integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -6271,9 +5762,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6281,26 +5771,23 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -6308,9 +5795,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -6323,26 +5809,23 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -6350,9 +5833,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.89: - resolution: - { integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6360,9 +5842,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.89: - resolution: - { integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6370,9 +5851,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: - { integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6380,9 +5860,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.89: - resolution: - { integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6390,9 +5869,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.89: - resolution: - { integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6400,9 +5878,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.89: - resolution: - { integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6410,9 +5887,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.89: - resolution: - { integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6420,9 +5896,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.89: - resolution: - { integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6430,9 +5905,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.89: - resolution: - { integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -6440,9 +5914,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.89: - resolution: - { integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6450,9 +5923,8 @@ packages: optional: true /@swc/core@1.3.89: - resolution: - { integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -6476,30 +5948,25 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw== } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/types@0.1.5: - resolution: - { integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@5.0.1: - resolution: - { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: - { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: - { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -6515,8 +5982,7 @@ packages: dev: true /@ts-morph/common@0.23.0: - resolution: - { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} dependencies: fast-glob: 3.3.2 minimatch: 9.0.4 @@ -6524,24 +5990,19 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12@1.0.11: - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14@1.0.3: - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16@1.0.4: - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} /@types/babel__core@7.20.5: - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.24.0 @@ -6551,164 +6012,137 @@ packages: dev: true /@types/babel__generator@7.6.5: - resolution: - { integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== } + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.2: - resolution: - { integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== } + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.2: - resolution: - { integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== } + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/cli-progress@3.11.5: - resolution: - { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } + resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: '@types/node': 20.12.7 /@types/cookie@0.6.0: - resolution: - { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true /@types/estree@1.0.5: - resolution: - { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true /@types/http-cache-semantics@4.0.2: - resolution: - { integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== } + resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} /@types/ini@4.1.0: - resolution: - { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} dev: false /@types/istanbul-lib-coverage@2.0.4: - resolution: - { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false /@types/istanbul-lib-report@3.0.0: - resolution: - { integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false /@types/istanbul-reports@3.0.1: - resolution: - { integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false /@types/json-schema@7.0.15: - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.29: - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/lodash.chunk@4.2.9: - resolution: - { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } + resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.compact@3.0.9: - resolution: - { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } + resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.get@4.4.9: - resolution: - { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } + resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.pick@4.4.9: - resolution: - { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.set@4.3.9: - resolution: - { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash@4.14.199: - resolution: - { integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== } + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: - resolution: - { integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== } + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.8 dev: true /@types/minimist@1.2.2: - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/mute-stream@0.0.4: - resolution: - { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.12.7 /@types/node@12.20.55: - resolution: - { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true /@types/node@20.12.7: - resolution: - { integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== } + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/normalize-package-data@2.4.2: - resolution: - { integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== } + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} /@types/papaparse@5.3.14: - resolution: - { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } + resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} dependencies: '@types/node': 20.12.7 dev: true /@types/pg@8.11.5: - resolution: - { integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw== } + resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: '@types/node': 20.12.7 pg-protocol: 1.6.1 @@ -6716,97 +6150,79 @@ packages: dev: true /@types/pluralize@0.0.33: - resolution: - { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} dev: true /@types/prettier@2.7.3: - resolution: - { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: '@types/node': 20.12.7 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: - { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } + resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} dev: true /@types/retry@0.12.1: - resolution: - { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: false /@types/semver@7.5.6: - resolution: - { integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== } + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true /@types/semver@7.5.8: - resolution: - { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} /@types/shimmer@1.0.3: - resolution: - { integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA== } + resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} dev: true /@types/statuses@2.0.4: - resolution: - { integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw== } + resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} dev: true /@types/text-table@0.2.5: - resolution: - { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } + resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} dev: true /@types/tmp@0.2.6: - resolution: - { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} dev: true /@types/unist@2.0.8: - resolution: - { integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== } + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: true /@types/which@3.0.3: - resolution: - { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } + resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} /@types/yargs-parser@21.0.1: - resolution: - { integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== } + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false /@types/yargs@16.0.6: - resolution: - { integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== } + resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} dependencies: '@types/yargs-parser': 21.0.1 dev: false /@types/yoga-layout@1.9.2: - resolution: - { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6834,9 +6250,8 @@ packages: dev: true /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6864,9 +6279,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6886,9 +6300,8 @@ packages: dev: true /@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6908,27 +6321,24 @@ packages: dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.7.1: - resolution: - { integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6947,9 +6357,8 @@ packages: dev: true /@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6968,27 +6377,23 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false /@typescript-eslint/types@6.21.0: - resolution: - { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.7.1: - resolution: - { integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.5): - resolution: - { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7008,9 +6413,8 @@ packages: dev: false /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7031,9 +6435,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5): - resolution: - { integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7054,9 +6457,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7074,9 +6476,8 @@ packages: dev: true /@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: @@ -7094,36 +6495,32 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.7.1: - resolution: - { integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: - { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} + engines: {node: '>=14'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) @@ -7143,8 +6540,7 @@ packages: dev: false /@vitest/expect@1.5.0: - resolution: - { integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA== } + resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} dependencies: '@vitest/spy': 1.5.0 '@vitest/utils': 1.5.0 @@ -7152,8 +6548,7 @@ packages: dev: true /@vitest/runner@1.5.0: - resolution: - { integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ== } + resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} dependencies: '@vitest/utils': 1.5.0 p-limit: 5.0.0 @@ -7161,8 +6556,7 @@ packages: dev: true /@vitest/snapshot@1.5.0: - resolution: - { integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A== } + resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 @@ -7170,15 +6564,13 @@ packages: dev: true /@vitest/spy@1.5.0: - resolution: - { integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w== } + resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} dependencies: tinyspy: 2.2.0 dev: true /@vitest/utils@1.5.0: - resolution: - { integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A== } + resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7187,44 +6579,38 @@ packages: dev: true /@wry/context@0.7.3: - resolution: - { integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/equality@0.5.6: - resolution: - { integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/trie@0.4.3: - resolution: - { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false /abstract-leveldown@0.12.4: - resolution: - { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } + resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} dependencies: xtend: 3.0.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: - { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -7232,8 +6618,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7241,40 +6626,34 @@ packages: dev: true /acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn-walk@8.3.2: - resolution: - { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@5.7.4: - resolution: - { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true /acorn@8.11.3: - resolution: - { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: @@ -7282,17 +6661,15 @@ packages: dev: false /aggregate-error@4.0.1: - resolution: - { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: - { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: ajv: ^8.0.1 dependencies: @@ -7300,8 +6677,7 @@ packages: dev: false /ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -7310,8 +6686,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -7320,111 +6695,93 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: - { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: - { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } + resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} dev: false /ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} /ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: - { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: - { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} /ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} /ansi-styles@6.2.1: - resolution: - { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /ansicolors@0.3.2: - resolution: - { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} /any-date-parser@1.5.4: - resolution: - { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } + resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} dev: false /any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false /archiver-utils@2.1.0: - resolution: - { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7439,9 +6796,8 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: - { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7456,9 +6812,8 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: - { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -7469,9 +6824,8 @@ packages: dev: false /archiver@5.3.2: - resolution: - { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.4 @@ -7483,9 +6837,8 @@ packages: dev: false /archiver@6.0.1: - resolution: - { integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 async: 3.2.4 @@ -7497,40 +6850,34 @@ packages: dev: false /are-we-there-yet@2.0.0: - resolution: - { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 dev: false /arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} /array-buffer-byte-length@1.0.0: - resolution: - { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 dev: true /array-includes@3.1.7: - resolution: - { integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7540,14 +6887,12 @@ packages: dev: true /array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} /array.prototype.findlastindex@1.2.3: - resolution: - { integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7557,9 +6902,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7568,9 +6912,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7579,9 +6922,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.2: - resolution: - { integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 @@ -7593,20 +6935,17 @@ packages: dev: true /arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} dev: true /arrify@3.0.0: - resolution: - { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: false /asn1.js@5.4.1: - resolution: - { integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -7615,63 +6954,52 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: false /astral-regex@2.0.0: - resolution: - { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} /async-listen@3.0.1: - resolution: - { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} dev: false /async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: - { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false /async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /auto-bind@4.0.0: - resolution: - { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /available-typed-arrays@1.0.5: - resolution: - { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} dev: true /axios@1.5.0: - resolution: - { integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== } + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 @@ -7681,13 +7009,11 @@ packages: dev: false /b4a@1.6.4: - resolution: - { integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== } + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): - resolution: - { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7700,8 +7026,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7713,8 +7038,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7725,23 +7049,19 @@ packages: dev: true /bail@1.0.5: - resolution: - { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} dev: true /balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: - { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} peerDependencies: ajv: 4.11.8 - 8 dependencies: @@ -7754,36 +7074,31 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: - { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} dependencies: is-windows: 1.0.2 dev: true /binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bindings@1.5.0: - resolution: - { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: - { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } + resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -7791,55 +7106,46 @@ packages: dev: false /bn.js@4.12.0: - resolution: - { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true /bn.js@5.2.1: - resolution: - { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /bowser@2.11.0: - resolution: - { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: - { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: - { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true /browserify-aes@1.2.0: - resolution: - { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7850,8 +7156,7 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: - { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7859,8 +7164,7 @@ packages: dev: true /browserify-des@1.0.2: - resolution: - { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7869,8 +7173,7 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: - { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } + resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7878,16 +7181,14 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: - { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true /browserify-sign@4.2.1: - resolution: - { integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== } + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -7901,9 +7202,8 @@ packages: dev: true /browserslist@4.23.0: - resolution: - { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001600 @@ -7912,37 +7212,31 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-es6@4.9.3: - resolution: - { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} dev: true /buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: - resolution: - { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bufrw@1.3.0: - resolution: - { integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} + engines: {node: '>= 0.10.x'} dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7951,58 +7245,49 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: - { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} /builtins@2.0.1: - resolution: - { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } + resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: - { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: - { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} dev: false /bytes-iec@3.1.1: - resolution: - { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} dev: true /cac@6.7.14: - resolution: - { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /cacheable-lookup@7.0.0: - resolution: - { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} /cacheable-request@10.2.13: - resolution: - { integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.2 get-stream: 6.0.1 @@ -8013,34 +7298,29 @@ packages: responselike: 3.0.0 /call-bind@1.0.2: - resolution: - { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.1 /call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true /callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} /camel-case@4.1.2: - resolution: - { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -8048,24 +7328,20 @@ packages: dev: true /camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: false /caniuse-lite@1.0.30001600: - resolution: - { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} /capital-case@1.0.4: - resolution: - { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8073,27 +7349,23 @@ packages: dev: true /cardinal@2.1.1: - resolution: - { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: - { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} /ccount@1.1.0: - resolution: - { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true /chai@4.3.10: - resolution: - { integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -8105,30 +7377,26 @@ packages: dev: true /chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} /change-case@4.1.2: - resolution: - { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -8145,36 +7413,30 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: - { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true /character-entities@1.2.4: - resolution: - { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true /character-reference-invalid@1.1.4: - resolution: - { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true /chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /check-error@1.0.3: - resolution: - { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -8188,84 +7450,72 @@ packages: dev: true /chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: false /ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@3.0.1: - resolution: - { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: - { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -8277,43 +7527,37 @@ packages: dev: true /cli-progress@3.12.0: - resolution: - { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} /cli-truncate@2.1.0: - resolution: - { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: - { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.0.0 dev: true /cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} /clipanion@3.2.1(typanion@3.14.0): - resolution: - { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} peerDependencies: typanion: '*' dependencies: @@ -8321,8 +7565,7 @@ packages: dev: true /cliui@6.0.0: - resolution: - { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8330,8 +7573,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8339,88 +7581,74 @@ packages: dev: true /cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 /clone@0.1.19: - resolution: - { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } + resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} dev: true /clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /code-block-writer@13.0.1: - resolution: - { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} /code-excerpt@3.0.0: - resolution: - { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /color-string@1.9.1: - resolution: - { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false /color@4.2.3: - resolution: - { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors-option@3.0.0: - resolution: - { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} + engines: {node: '>=12.20.0'} dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -8429,39 +7657,33 @@ packages: dev: false /combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: false /commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false /common-path-prefix@3.0.0: - resolution: - { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false /compress-commons@4.1.2: - resolution: - { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -8470,9 +7692,8 @@ packages: dev: false /compress-commons@5.0.1: - resolution: - { integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 crc32-stream: 5.0.0 @@ -8481,13 +7702,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -8496,18 +7715,15 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: - { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false /constant-case@3.0.4: - resolution: - { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8515,48 +7731,40 @@ packages: dev: true /content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-hrtime@3.0.0: - resolution: - { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} dev: false /convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} /convert-to-spaces@1.0.2: - resolution: - { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} + engines: {node: '>= 4'} dev: true /cookie@0.5.0: - resolution: - { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /core-js-compat@3.36.1: - resolution: - { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cosmiconfig@9.0.0(typescript@5.4.5): - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8571,9 +7779,8 @@ packages: dev: false /cp-file@10.0.0: - resolution: - { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8581,9 +7788,8 @@ packages: dev: false /cp-file@9.1.0: - resolution: - { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} + engines: {node: '>=10'} dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8592,9 +7798,8 @@ packages: dev: false /cpy@9.0.1: - resolution: - { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } - engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} + engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8607,41 +7812,36 @@ packages: dev: false /crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: false /crc32-stream@4.0.3: - resolution: - { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /crc32-stream@5.0.0: - resolution: - { integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: - { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true /create-hash@1.2.0: - resolution: - { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8651,8 +7851,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8663,20 +7862,17 @@ packages: dev: true /create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cron-parser@4.9.0: - resolution: - { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} dependencies: luxon: 3.4.3 dev: false /cross-spawn@5.1.0: - resolution: - { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8684,17 +7880,15 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: - { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -8710,24 +7904,20 @@ packages: dev: true /csv-generate@3.4.3: - resolution: - { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true /csv-parse@4.16.3: - resolution: - { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true /csv-stringify@5.6.5: - resolution: - { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true /csv@5.5.3: - resolution: - { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } - engines: { node: '>= 0.1.90' } + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8736,19 +7926,16 @@ packages: dev: true /data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /dataloader@1.4.0: - resolution: - { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true /debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8759,9 +7946,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8772,9 +7958,8 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8785,84 +7970,72 @@ packages: supports-color: 9.4.0 /decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: - { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: false /default-browser-id@5.0.0: - resolution: - { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} dev: false /default-browser@5.2.1: - resolution: - { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} /deferred-leveldown@0.2.0: - resolution: - { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } + resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} dependencies: abstract-leveldown: 0.12.4 dev: true /define-data-property@1.1.0: - resolution: - { integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 gopd: 1.0.1 @@ -8870,15 +8043,13 @@ packages: dev: true /define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} dev: false /define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 @@ -8886,52 +8057,44 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /delegates@1.0.0: - resolution: - { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false /des.js@1.1.0: - resolution: - { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-libc@2.0.2: - resolution: - { integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: false /detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8941,26 +8104,23 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: - { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: - { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: - { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -8968,33 +8128,29 @@ packages: dev: false /detective-sass@5.0.3: - resolution: - { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: - { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: - { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: - { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) ast-module-types: 5.0.0 @@ -9005,19 +8161,16 @@ packages: dev: false /diff-sequences@29.6.3: - resolution: - { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /diffie-hellman@5.0.3: - resolution: - { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -9025,15 +8178,13 @@ packages: dev: true /dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: - { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -9047,16 +8198,14 @@ packages: dev: true /doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: - { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -9064,21 +8213,18 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domhandler@4.3.1: - resolution: - { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: - { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -9086,43 +8232,37 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: - { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} /dotenv@8.6.0: - resolution: - { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: true /drizzle-orm@0.30.9(@opentelemetry/api@1.8.0)(@types/pg@8.11.5)(@xata.io/client@packages+client)(pg@8.11.5)(react@17.0.2): - resolution: - { integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA== } + resolution: {integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -9209,13 +8349,11 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} /edge-runtime@2.5.9: - resolution: - { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -9230,20 +8368,17 @@ packages: dev: false /ejs@3.1.10: - resolution: - { integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 /electron-to-chromium@1.4.715: - resolution: - { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } + resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} /elliptic@6.5.4: - resolution: - { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -9255,109 +8390,92 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: - { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} dev: true /emoji-regex@10.3.0: - resolution: - { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} /end-of-stream@1.4.4: - resolution: - { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false /enhanced-resolve@5.15.0: - resolution: - { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: - { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true /entities@3.0.1: - resolution: - { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} dev: true /env-editor@1.1.0: - resolution: - { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} dev: false /env-paths@3.0.0: - resolution: - { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /errno@0.1.8: - resolution: - { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: - { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false /error@7.0.2: - resolution: - { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false /es-abstract@1.22.2: - resolution: - { integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -9401,13 +8519,11 @@ packages: dev: true /es-module-lexer@1.3.1: - resolution: - { integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== } + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: - resolution: - { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -9415,16 +8531,14 @@ packages: dev: true /es-shim-unscopables@1.0.0: - resolution: - { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive@1.2.1: - resolution: - { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -9432,14 +8546,12 @@ packages: dev: true /es6-promise@3.3.1: - resolution: - { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true /esbuild@0.19.11: - resolution: - { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9469,9 +8581,8 @@ packages: dev: true /esbuild@0.19.2: - resolution: - { integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9500,9 +8611,8 @@ packages: dev: false /esbuild@0.20.2: - resolution: - { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9532,36 +8642,30 @@ packages: dev: true /escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} /escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} /escape-string-regexp@5.0.0: - resolution: - { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: false /escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -9572,9 +8676,8 @@ packages: dev: false /eslint-config-oclif-typescript@3.1.6(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-K/Gv19vzTaeLQcs5syZ+Rup8RZfMclIuO2mV9YPG3GN64nSPA545+I7/uiaaxE4Ka+fKg2kZmMq3cFT0TOidpA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-K/Gv19vzTaeLQcs5syZ+Rup8RZfMclIuO2mV9YPG3GN64nSPA545+I7/uiaaxE4Ka+fKg2kZmMq3cFT0TOidpA==} + engines: {node: '>=18.0.0'} dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.1.1)(typescript@5.4.5) @@ -9597,9 +8700,8 @@ packages: dev: true /eslint-config-oclif@5.1.3(eslint@9.1.1): - resolution: - { integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug==} + engines: {node: '>=18.0.0'} dependencies: eslint-config-xo-space: 0.35.0(eslint@9.1.1) eslint-plugin-mocha: 10.4.3(eslint@9.1.1) @@ -9610,9 +8712,8 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@9.1.1): - resolution: - { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9621,9 +8722,8 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@9.1.1): - resolution: - { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9632,8 +8732,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -9643,9 +8742,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9667,9 +8765,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9691,9 +8788,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9722,9 +8818,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9753,9 +8848,8 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@9.1.1): - resolution: - { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9765,9 +8859,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9801,9 +8894,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9837,9 +8929,8 @@ packages: dev: true /eslint-plugin-mocha@10.4.3(eslint@9.1.1): - resolution: - { integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==} + engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9850,9 +8941,8 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@9.1.1): - resolution: - { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9868,8 +8958,7 @@ packages: dev: true /eslint-plugin-perfectionist@2.9.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw== } + resolution: {integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9896,9 +8985,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@9.1.1): - resolution: - { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -9921,26 +9009,23 @@ packages: dev: true /eslint-scope@8.0.1: - resolution: - { integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: - { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@9.1.1): - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: @@ -9949,32 +9034,27 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: - { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: true /eslint-visitor-keys@2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint-visitor-keys@4.0.0: - resolution: - { integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /eslint@9.1.1: - resolution: - { integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) @@ -10016,9 +9096,8 @@ packages: dev: true /espree@10.0.1: - resolution: - { integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -10026,74 +9105,62 @@ packages: dev: true /esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true /esquery@1.5.0: - resolution: - { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} /estree-walker@0.5.2: - resolution: - { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} dev: true /estree-walker@0.6.1: - resolution: - { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true /estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} /estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} /eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} /evp_bytestokey@1.0.3: - resolution: - { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10107,9 +9174,8 @@ packages: dev: false /execa@6.1.0: - resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10123,9 +9189,8 @@ packages: dev: false /execa@8.0.1: - resolution: - { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -10139,19 +9204,16 @@ packages: dev: true /extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /extendable-error@0.1.7: - resolution: - { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true /external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -10159,23 +9221,19 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} /fast-equals@3.0.3: - resolution: - { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } + resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} dev: false /fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: - resolution: - { integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10185,9 +9243,8 @@ packages: dev: true /fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10196,54 +9253,45 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-levenshtein@3.0.0: - resolution: - { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: - { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} /fast-xml-parser@4.2.5: - resolution: - { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: '>= 4.9.1' } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} /fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: - { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 dev: true /fdir@6.1.0: - resolution: - { integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg== } + resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} peerDependencies: picomatch: 2.x peerDependenciesMeta: @@ -10252,139 +9300,121 @@ packages: dev: false /fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 dev: false /figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /figures@4.0.1: - resolution: - { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: - { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: flat-cache: 4.0.1 dev: true /file-uri-to-path@1.0.0: - resolution: - { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true dev: false /filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: - { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /filter-obj@5.1.0: - resolution: - { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} dev: false /find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: - { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: - { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} dependencies: micromatch: 4.0.5 dev: true /flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.2.9 keyv: 4.5.4 dev: true /flatted@3.2.9: - resolution: - { integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== } + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /follow-redirects@1.15.3: - resolution: - { integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -10393,35 +9423,30 @@ packages: dev: false /for-each@0.3.3: - resolution: - { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: - { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true /foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: - { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } - engines: { node: '>= 14.17' } + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} /form-data@4.0.0: - resolution: - { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -10429,28 +9454,24 @@ packages: dev: false /format@0.2.2: - resolution: - { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} dev: true /formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false /fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -10458,9 +9479,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10468,9 +9488,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10478,34 +9497,29 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: false /fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + 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 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -10514,21 +9528,18 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /fwd-stream@1.0.4: - resolution: - { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } + resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: - { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10542,38 +9553,32 @@ packages: dev: false /gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} /get-amd-module-type@5.0.1: - resolution: - { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} /get-east-asian-width@1.2.0: - resolution: - { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true /get-func-name@2.0.2: - resolution: - { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: - resolution: - { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.2 has: 1.0.3 @@ -10581,82 +9586,69 @@ packages: has-symbols: 1.0.3 /get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} /get-port@6.1.2: - resolution: - { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /get-stdin@9.0.0: - resolution: - { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} /get-stream@8.0.1: - resolution: - { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: - resolution: - { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 dev: true /get-tsconfig@4.7.2: - resolution: - { integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== } + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: - { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /github-slugger@1.5.0: - resolution: - { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true /glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false /glob@10.3.8: - resolution: - { integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -10667,8 +9659,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10678,9 +9669,8 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: - { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10690,36 +9680,31 @@ packages: dev: false /globals@11.12.0: - resolution: - { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} /globals@13.24.0: - resolution: - { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globals@14.0.0: - resolution: - { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} dev: true /globalthis@1.0.3: - resolution: - { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -10729,9 +9714,8 @@ packages: slash: 3.0.0 /globby@13.2.2: - resolution: - { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -10740,9 +9724,8 @@ packages: slash: 4.0.0 /globby@14.0.1: - resolution: - { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -10753,25 +9736,22 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: - { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 dev: true /got-fetch@5.1.6(got@12.6.1): - resolution: - { integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} + engines: {node: '>=14.0.0'} peerDependencies: got: ^12.0.0 dependencies: @@ -10779,9 +9759,8 @@ packages: dev: true /got@12.6.1: - resolution: - { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10796,9 +9775,8 @@ packages: responselike: 3.0.0 /got@13.0.0: - resolution: - { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10814,23 +9792,19 @@ packages: dev: true /graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: - resolution: - { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true /graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: - { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + 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 dependencies: @@ -10839,79 +9813,66 @@ packages: dev: true /graphql@15.8.0: - resolution: - { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} dev: true /graphql@16.8.1: - resolution: - { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true /hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} dev: true /has-bigints@1.0.2: - resolution: - { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} /has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.0: - resolution: - { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 dev: true /has-proto@1.0.1: - resolution: - { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: - { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: - resolution: - { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false /has@1.0.3: - resolution: - { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 /hash-base@3.1.0: - resolution: - { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10919,37 +9880,32 @@ packages: dev: true /hash.js@1.1.7: - resolution: - { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /hasown@2.0.0: - resolution: - { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: - { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /headers-polyfill@4.0.2: - resolution: - { integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw== } + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hexer@1.5.0: - resolution: - { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: ansi-color: 0.2.1 @@ -10959,13 +9915,11 @@ packages: dev: false /highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true /hmac-drbg@1.0.1: - resolution: - { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -10973,43 +9927,37 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 /hosted-git-info@7.0.1: - resolution: - { integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: lru-cache: 10.2.0 dev: false /hot-shots@10.0.0: - resolution: - { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} + engines: {node: '>=10.0.0'} optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: - { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -11018,13 +9966,11 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-call@5.3.0: - resolution: - { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -11037,22 +9983,19 @@ packages: dev: true /http2-client@1.3.5: - resolution: - { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} dev: true /http2-wrapper@2.2.0: - resolution: - { integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -11061,74 +10004,62 @@ packages: dev: false /human-id@1.0.2: - resolution: - { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true /human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: false /human-signals@3.0.1: - resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} dev: false /human-signals@5.0.0: - resolution: - { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } - engines: { node: '>=16.17.0' } + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@9.0.11: - resolution: - { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} hasBin: true dev: true /hyperlinker@1.0.0: - resolution: - { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} /iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /idb-wrapper@1.7.2: - resolution: - { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } + resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} dev: true /ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false /ignore@5.3.1: - resolution: - { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} /import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: - { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} dependencies: acorn: 8.10.0 acorn-import-assertions: 1.9.0(acorn@8.10.0) @@ -11137,48 +10068,40 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} /indent-string@5.0.0: - resolution: - { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: false /indexof@0.0.1: - resolution: - { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: true /inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@4.1.2: - resolution: - { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /ink@3.2.0(react@17.0.2): - resolution: - { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -11216,9 +10139,8 @@ packages: dev: true /internal-slot@1.0.5: - resolution: - { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -11226,27 +10148,23 @@ packages: dev: true /interpret@1.4.0: - resolution: - { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: true /is-alphabetical@1.0.4: - resolution: - { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true /is-alphanumerical@1.0.4: - resolution: - { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true /is-array-buffer@3.0.2: - resolution: - { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -11254,357 +10172,300 @@ packages: dev: true /is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: - { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} /is-bigint@1.0.4: - resolution: - { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object@1.1.2: - resolution: - { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-buffer@2.0.5: - resolution: - { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: true /is-builtin-module@3.2.1: - resolution: - { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module@2.13.0: - resolution: - { integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-core-module@2.13.1: - resolution: - { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 /is-date-object@1.0.5: - resolution: - { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-decimal@1.0.4: - resolution: - { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true /is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true /is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: false /is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} /is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-fullwidth-code-point@5.0.0: - resolution: - { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: - { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true /is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-negative-zero@2.0.2: - resolution: - { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} dev: true /is-node-process@1.2.0: - resolution: - { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true /is-number-object@1.0.7: - resolution: - { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} /is-object@0.1.2: - resolution: - { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } + resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true /is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: false /is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@2.1.0: - resolution: - { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} /is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} /is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-retry-allowed@1.2.0: - resolution: - { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true /is-shared-array-buffer@1.0.2: - resolution: - { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-stream@3.0.0: - resolution: - { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /is-string@1.0.7: - resolution: - { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-subdir@1.2.0: - resolution: - { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: - { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.12: - resolution: - { integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 dev: true /is-unicode-supported@1.3.0: - resolution: - { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: false /is-url-superb@4.0.0: - resolution: - { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: false /is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: false /is-weakref@1.0.2: - resolution: - { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true /is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: - { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } + resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} dev: true /isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true /isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isbuffer@0.0.0: - resolution: - { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } + resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} dev: true /iserror@0.0.2: - resolution: - { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} dev: false /isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} dev: false /jackspeak@2.3.5: - resolution: - { integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -11612,9 +10473,8 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: - { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} + engines: {node: '>=10'} dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -11624,9 +10484,8 @@ packages: dev: false /jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -11635,15 +10494,13 @@ packages: minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: - { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false /jest-validate@27.5.1: - resolution: - { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11654,110 +10511,91 @@ packages: dev: false /jiti@1.21.0: - resolution: - { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /js-tokens@8.0.3: - resolution: - { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: - { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: - { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /jsesc@3.0.2: - resolution: - { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} /json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true /jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} /jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -11765,73 +10603,62 @@ packages: dev: true /jsonpointer@5.0.1: - resolution: - { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} dev: false /junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} dev: false /keep-func-props@4.0.1: - resolution: - { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} + engines: {node: '>=12.20.0'} dependencies: mimic-fn: 4.0.0 dev: false /keyv@4.5.3: - resolution: - { integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== } + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 /keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: false /kleur@4.1.5: - resolution: - { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /kysely@0.27.3: - resolution: - { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} dev: true /lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: - { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } + resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11839,8 +10666,7 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: - { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } + resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11854,27 +10680,23 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: - { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } + resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} dev: true /level-fix-range@2.0.0: - resolution: - { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } + resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: - { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } + resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: - { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } + resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11885,15 +10707,13 @@ packages: dev: true /level-peek@1.0.6: - resolution: - { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } + resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: - { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } + resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11902,8 +10722,7 @@ packages: dev: true /levelup@0.18.6: - resolution: - { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } + resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11915,40 +10734,34 @@ packages: dev: true /leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: false /levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: - { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} dev: true /lilconfig@3.1.1: - resolution: - { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} dev: true /lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lint-staged@15.2.2: - resolution: - { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 @@ -11966,9 +10779,8 @@ packages: dev: true /listr2@8.0.1: - resolution: - { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -11979,9 +10791,8 @@ packages: dev: true /load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -11990,9 +10801,8 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: - { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -12001,139 +10811,115 @@ packages: dev: true /local-pkg@0.5.0: - resolution: - { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.4.2 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: - { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false /lodash._reinterpolate@3.0.0: - resolution: - { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true /lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} /lodash.chunk@4.2.0: - resolution: - { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } + resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false /lodash.compact@3.0.1: - resolution: - { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } + resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} dev: false /lodash.debounce@4.0.8: - resolution: - { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.defaults@4.2.0: - resolution: - { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: false /lodash.difference@4.5.0: - resolution: - { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: false /lodash.flatten@4.4.0: - resolution: - { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false /lodash.get@4.4.2: - resolution: - { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false /lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.pick@4.4.0: - resolution: - { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: false /lodash.set@4.3.2: - resolution: - { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: false /lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true /lodash.template@4.5.0: - resolution: - { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: - { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: - { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: false /lodash@4.17.21: - resolution: - { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} /log-process-errors@8.0.0: - resolution: - { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} + engines: {node: '>=12.20.0'} dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -12145,9 +10931,8 @@ packages: dev: false /log-update@6.0.0: - resolution: - { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -12157,167 +10942,141 @@ packages: dev: true /long@2.4.0: - resolution: - { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} + engines: {node: '>=0.6'} dev: false /long@5.2.3: - resolution: - { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} /longest-streak@2.0.4: - resolution: - { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true /loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: - { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lowercase-keys@3.0.0: - resolution: - { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /lru-cache@10.2.0: - resolution: - { integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} /lru-cache@4.1.5: - resolution: - { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /ltgt@2.2.1: - resolution: - { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} dev: true /luxon@3.4.3: - resolution: - { integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} dev: false /macos-release@3.2.0: - resolution: - { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /magic-string@0.22.5: - resolution: - { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: - { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } + resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: - { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.30.4: - resolution: - { integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.5: - resolution: - { integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} dev: true /map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} dev: true /map-obj@5.0.2: - resolution: - { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /markdown-table@2.0.0: - resolution: - { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: - { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -12325,8 +11084,7 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: - { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -12334,8 +11092,7 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: - { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -12344,8 +11101,7 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: - { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.12 mdast-util-to-string: 2.0.0 @@ -12357,15 +11113,13 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: - { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: - { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -12375,30 +11129,26 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: - { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: - { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: - { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: - { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -12410,8 +11160,7 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: - { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: '@types/unist': 2.0.8 longest-streak: 2.0.4 @@ -12422,19 +11171,16 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: - { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true /memoize-one@6.0.0: - resolution: - { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false /meow@6.1.1: - resolution: - { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -12450,35 +11196,29 @@ packages: dev: true /merge-options@3.0.4: - resolution: - { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} /merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} /micro-api-client@3.3.0: - resolution: - { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } + resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} dev: false /micro-memoize@4.1.2: - resolution: - { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } + resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} dev: false /micromark-extension-footnote@0.3.2: - resolution: - { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12486,15 +11226,13 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: - { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: - { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12502,8 +11240,7 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: - { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12511,8 +11248,7 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: - { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12520,13 +11256,11 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: - { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: - { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12534,8 +11268,7 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: - { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -12548,8 +11281,7 @@ packages: dev: true /micromark@2.11.4: - resolution: - { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -12558,16 +11290,14 @@ packages: dev: true /micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: - { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: bn.js: 4.12.0 @@ -12575,87 +11305,73 @@ packages: dev: true /mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} /mimic-fn@4.0.0: - resolution: - { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} /mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} /mimic-response@4.0.0: - resolution: - { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimalistic-crypto-utils@1.0.1: - resolution: - { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true /minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 /minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: - { integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12663,60 +11379,51 @@ packages: dev: true /minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: false /minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: false /minipass@7.0.3: - resolution: - { integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 yallist: 4.0.0 dev: false /mixme@0.5.9: - resolution: - { integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} dev: true /mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true dev: false /mkdirp@3.0.1: - resolution: - { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true /mlly@1.4.2: - resolution: - { integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== } + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.3 pathe: 1.1.1 @@ -12725,9 +11432,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12735,44 +11441,37 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: - { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} /moize@6.1.6: - resolution: - { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } + resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: - { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: - { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false /ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /msw@2.2.14(typescript@5.4.5): - resolution: - { integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: @@ -12802,13 +11501,11 @@ packages: dev: true /mute-stream@1.0.0: - resolution: - { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} /mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 @@ -12816,55 +11513,46 @@ packages: dev: true /nan@2.18.0: - resolution: - { integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== } + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: - { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true /nanoid@5.0.6: - resolution: - { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } - engines: { node: ^18 || >=20 } + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} + engines: {node: ^18 || >=20} hasBin: true dev: true /nanospinner@1.1.0: - resolution: - { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /natural-orderby@2.0.3: - resolution: - { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} /nested-error-stacks@2.1.1: - resolution: - { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false /netlify-headers-parser@7.1.2: - resolution: - { integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 @@ -12875,9 +11563,8 @@ packages: dev: false /netlify-redirect-parser@14.2.0: - resolution: - { integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 @@ -12887,9 +11574,8 @@ packages: dev: false /netlify@13.1.10: - resolution: - { integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.22.0 lodash-es: 4.17.21 @@ -12901,31 +11587,27 @@ packages: dev: false /no-case@3.0.4: - resolution: - { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-fetch-h2@2.3.0: - resolution: - { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12935,9 +11617,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -12945,53 +11626,45 @@ packages: dev: false /node-gyp-build@4.6.1: - resolution: - { integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== } + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false /node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false /node-readfiles@0.2.0: - resolution: - { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: - { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /node-source-walk@6.0.2: - resolution: - { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: - { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} dev: false /nopt@5.0.0: - resolution: - { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true dependencies: abbrev: 1.1.1 dev: false /normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.6 @@ -13000,9 +11673,8 @@ packages: dev: true /normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 @@ -13010,27 +11682,23 @@ packages: validate-npm-package-license: 3.0.4 /normalize-path@2.1.1: - resolution: - { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} /normalize-url@8.0.0: - resolution: - { integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} /npm-package-arg@11.0.2: - resolution: - { integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 proc-log: 4.0.0 @@ -13039,32 +11707,28 @@ packages: dev: false /npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false /npm-run-path@5.1.0: - resolution: - { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 /npm-run-path@5.3.0: - resolution: - { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: false /npm@10.5.0: - resolution: - { integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: false bundledDependencies: @@ -13140,8 +11804,7 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: - { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -13150,15 +11813,13 @@ packages: dev: false /oas-kit-common@1.0.8: - resolution: - { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: - { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -13166,8 +11827,7 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: - { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -13178,13 +11838,11 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: - { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} dev: true /oas-validator@5.0.8: - resolution: - { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -13197,17 +11855,14 @@ packages: dev: true /object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.12.3: - resolution: - { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@0.2.0: - resolution: - { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } + resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -13216,25 +11871,21 @@ packages: dev: true /object-keys@0.4.0: - resolution: - { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true /object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-treeify@1.1.33: - resolution: - { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} /object.assign@4.1.4: - resolution: - { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13243,9 +11894,8 @@ packages: dev: true /object.fromentries@2.0.7: - resolution: - { integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13253,8 +11903,7 @@ packages: dev: true /object.groupby@1.0.1: - resolution: - { integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== } + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13263,9 +11912,8 @@ packages: dev: true /object.values@1.1.7: - resolution: - { integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13273,14 +11921,12 @@ packages: dev: true /obuf@1.1.2: - resolution: - { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /oclif@4.8.8: - resolution: - { integrity: sha512-EZszrIY/rSa1fo0fq11rFAU7QvBX8FqAxyYIFTb19adSvxUwK8NKVn0b+lPlchibcpFHwde7ENFYSyJ1G+cWXg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-EZszrIY/rSa1fo0fq11rFAU7QvBX8FqAxyYIFTb19adSvxUwK8NKVn0b+lPlchibcpFHwde7ENFYSyJ1G+cWXg==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 @@ -13312,39 +11958,33 @@ packages: dev: true /octal@1.0.0: - resolution: - { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } + resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} dev: true /omit.js@2.0.2: - resolution: - { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} dev: false /once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: - { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: - { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -13353,21 +11993,18 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: - { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: - { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} + engines: {node: '>=0.10'} dev: false /optimism@0.17.5: - resolution: - { integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== } + resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} dependencies: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 @@ -13375,9 +12012,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -13388,231 +12024,199 @@ packages: dev: true /os-name@5.1.0: - resolution: - { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: - { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /outdent@0.5.0: - resolution: - { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true /outvariant@1.4.2: - resolution: - { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} dev: true /p-cancelable@3.0.0: - resolution: - { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} /p-event@4.2.0: - resolution: - { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: - { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: - { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: - { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: - { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} dev: false /p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: - { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: - { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} /p-map@5.5.0: - resolution: - { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 dev: false /p-queue@8.0.1: - resolution: - { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: - { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} dev: false /p-retry@5.1.2: - resolution: - { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} dependencies: p-finally: 1.0.0 dev: false /p-timeout@5.1.0: - resolution: - { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} dev: false /p-timeout@6.1.2: - resolution: - { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} dev: false /p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /p-wait-for@4.1.0: - resolution: - { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} + engines: {node: '>=12'} dependencies: p-timeout: 5.1.0 dev: false /papaparse@5.4.1: - resolution: - { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} dev: false /param-case@3.0.4: - resolution: - { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 /parse-asn1@5.1.6: - resolution: - { integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== } + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -13622,8 +12226,7 @@ packages: dev: true /parse-entities@2.0.0: - resolution: - { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13634,18 +12237,16 @@ packages: dev: true /parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -13653,144 +12254,120 @@ packages: lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: - { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: false /parse-ms@3.0.0: - resolution: - { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} dev: true /parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /pascal-case@3.1.2: - resolution: - { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: - { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: - { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} dev: true /path-browserify@1.0.1: - resolution: - { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-case@3.0.4: - resolution: - { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} /path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} /path-key@4.0.0: - resolution: - { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} /path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: - resolution: - { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.0 minipass: 7.0.3 dev: true /path-to-regexp@6.2.1: - resolution: - { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true /path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} /path-type@5.0.0: - resolution: - { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} /pathe@1.1.1: - resolution: - { integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /pathval@1.1.1: - resolution: - { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13800,32 +12377,27 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: - { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: true optional: true /pg-connection-string@2.6.4: - resolution: - { integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== } + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} dev: true /pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} dev: true /pg-numeric@1.0.2: - resolution: - { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} dev: true /pg-pool@3.6.2(pg@8.11.5): - resolution: - { integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== } + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: @@ -13833,14 +12405,12 @@ packages: dev: true /pg-protocol@1.6.1: - resolution: - { integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== } + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} dev: true /pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13850,9 +12420,8 @@ packages: dev: true /pg-types@4.0.2: - resolution: - { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13864,9 +12433,8 @@ packages: dev: true /pg@8.11.5: - resolution: - { integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13883,59 +12451,50 @@ packages: dev: true /pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: - { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} /pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: - { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 @@ -13943,15 +12502,13 @@ packages: dev: true /pluralize@8.0.0: - resolution: - { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: - { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -13962,75 +12519,64 @@ packages: dev: false /postcss@8.4.38: - resolution: - { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} dev: true /postgres-array@3.0.2: - resolution: - { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} dev: true /postgres-bytea@1.0.0: - resolution: - { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} dev: true /postgres-bytea@3.0.0: - resolution: - { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} dev: true /postgres-date@2.1.0: - resolution: - { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} dev: true /postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: - { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} dev: true /postgres-range@1.1.4: - resolution: - { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: - { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -14050,9 +12596,8 @@ packages: dev: false /preferred-pm@3.1.2: - resolution: - { integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -14061,28 +12606,24 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier@2.8.8: - resolution: - { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true /prettier@3.2.5: - resolution: - { integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true /pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -14090,9 +12631,8 @@ packages: dev: false /pretty-format@29.7.0: - resolution: - { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -14100,60 +12640,51 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: - { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} dependencies: parse-ms: 3.0.0 dev: false /proc-log@4.0.0: - resolution: - { integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /process-es6@0.11.6: - resolution: - { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} dev: true /process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process@0.10.1: - resolution: - { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} + engines: {node: '>= 0.6.0'} dev: false /process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} dev: false /prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14161,9 +12692,8 @@ packages: dev: true /protobufjs@7.2.5: - resolution: - { integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -14180,34 +12710,28 @@ packages: long: 5.2.3 /proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false /prr@0.0.0: - resolution: - { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } + resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} dev: true /prr@1.0.1: - resolution: - { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true /ps-list@8.1.1: - resolution: - { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /pseudomap@1.0.2: - resolution: - { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /public-encrypt@4.0.3: - resolution: - { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -14218,74 +12742,62 @@ packages: dev: true /pump@3.0.0: - resolution: - { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode@2.3.0: - resolution: - { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} /qs@6.11.2: - resolution: - { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} /queue-tick@1.0.1: - resolution: - { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false /quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} dev: true /quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} /quote-unquote@1.0.0: - resolution: - { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: false /rambda@7.5.0: - resolution: - { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} dev: true /randombytes@2.1.0: - resolution: - { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: - { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /react-devtools-core@4.28.0: - resolution: - { integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== } + resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -14295,24 +12807,20 @@ packages: dev: true /react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false /react-is@18.2.0: - resolution: - { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: - { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^17.0.2 dependencies: @@ -14323,18 +12831,16 @@ packages: dev: true /react@17.0.2: - resolution: - { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -14342,9 +12848,8 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: - { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -14352,9 +12857,8 @@ packages: dev: false /read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -14362,9 +12866,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 @@ -14373,9 +12876,8 @@ packages: dev: true /read-pkg@7.1.0: - resolution: - { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 @@ -14384,9 +12886,8 @@ packages: dev: false /read-yaml-file@1.1.0: - resolution: - { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -14395,8 +12896,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14405,8 +12905,7 @@ packages: dev: true /readable-stream@1.1.14: - resolution: - { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14415,8 +12914,7 @@ packages: dev: true /readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14427,90 +12925,77 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 /readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: false /readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: - { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.6 dev: true /redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: - { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: - { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} dev: true /regenerate-unicode-properties@10.1.1: - resolution: - { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.14.0: - resolution: - { integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== } + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /regenerator-transform@0.15.2: - resolution: - { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.1 dev: true /regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true /regexp.prototype.flags@1.5.1: - resolution: - { integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14518,15 +13003,13 @@ packages: dev: true /regexpp@3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: true /regexpu-core@5.3.2: - resolution: - { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14537,25 +13020,22 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: - { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /relaxed-json@1.0.3: - resolution: - { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} + engines: {node: '>= 0.10.0'} hasBin: true dependencies: chalk: 2.4.2 @@ -14563,8 +13043,7 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: - { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14573,16 +13052,14 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: - { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: - { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14591,8 +13068,7 @@ packages: dev: true /remark-parse@9.0.0: - resolution: - { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14600,31 +13076,26 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: - { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: false /repeat-string@1.6.1: - resolution: - { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true /require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} /require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: - { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14634,9 +13105,8 @@ packages: dev: false /require-in-the-middle@7.2.0: - resolution: - { integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14646,36 +13116,29 @@ packages: dev: true /require-main-filename@2.0.0: - resolution: - { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /require-package-name@2.0.1: - resolution: - { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false /resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} /resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} /resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} /resolve-pkg-maps@1.0.0: - resolution: - { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} /resolve@1.22.6: - resolution: - { integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== } + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14683,8 +13146,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.4: - resolution: - { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14693,79 +13155,68 @@ packages: dev: false /response-iterator@0.2.6: - resolution: - { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} dev: true /responselike@3.0.0: - resolution: - { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} /reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} /rfdc@1.3.0: - resolution: - { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: false /rimraf@5.0.5: - resolution: - { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true dependencies: glob: 10.3.8 dev: true /ripemd160@2.0.2: - resolution: - { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.16.4): - resolution: - { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} + engines: {node: '>=6'} peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14777,9 +13228,8 @@ packages: dev: true /rollup-plugin-dts@6.1.0(rollup@4.16.4)(typescript@5.4.5): - resolution: - { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 @@ -14792,9 +13242,8 @@ packages: dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.16.4): - resolution: - { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -14810,8 +13259,7 @@ packages: dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: - { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } + resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14820,8 +13268,7 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: - { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14832,38 +13279,33 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: - { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: - { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } + resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: - { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } + resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: - { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true /rollup@4.16.4: - resolution: - { integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14888,28 +13330,24 @@ packages: dev: true /run-applescript@7.0.0: - resolution: - { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} dev: false /run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: - { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.0.1: - resolution: - { integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14918,21 +13356,17 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} /safe-json-stringify@1.2.0: - resolution: - { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} dev: false /safe-regex-test@1.0.0: - resolution: - { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14940,60 +13374,51 @@ packages: dev: true /safe-resolve@1.0.0: - resolution: - { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } + resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} dev: true /safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /scheduler@0.20.2: - resolution: - { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /semver@2.3.2: - resolution: - { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } + resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} hasBin: true dev: true /semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true /semver@7.5.4: - resolution: - { integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.6.0: - resolution: - { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: - { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -15001,13 +13426,11 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-name@2.0.1: - resolution: - { integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 functions-have-names: 1.2.3 @@ -15015,8 +13438,7 @@ packages: dev: true /sha.js@2.4.11: - resolution: - { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -15024,40 +13446,34 @@ packages: dev: true /shebang-command@1.2.0: - resolution: - { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: - { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} /shell-quote@1.8.1: - resolution: - { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -15066,45 +13482,38 @@ packages: dev: true /shimmer@1.2.1: - resolution: - { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} /should-equal@2.0.0: - resolution: - { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: - { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: - { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: - { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} dev: true /should-util@1.0.1: - resolution: - { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} dev: true /should@13.2.3: - resolution: - { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -15114,9 +13523,8 @@ packages: dev: true /shx@0.3.4: - resolution: - { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} hasBin: true dependencies: minimist: 1.2.8 @@ -15124,48 +13532,40 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 /siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true /signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signal-exit@4.0.2: - resolution: - { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} dev: false /signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} /simple-swizzle@0.2.2: - resolution: - { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false /size-limit@11.1.2: - resolution: - { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 @@ -15178,25 +13578,21 @@ packages: dev: true /slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} /slash@4.0.0: - resolution: - { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} /slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: - resolution: - { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15204,36 +13600,32 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: - { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: - { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true /smartwrap@2.0.2: - resolution: - { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -15245,21 +13637,18 @@ packages: dev: true /snake-case@3.0.4: - resolution: - { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /sort-object-keys@1.1.3: - resolution: - { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.10.0: - resolution: - { integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g== } + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -15273,158 +13662,133 @@ packages: dev: true /source-map-js@1.2.0: - resolution: - { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} /source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: - { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: - { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.15 /spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.15 /spdx-license-ids@3.0.15: - resolution: - { integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== } + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} /split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} dev: true /sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} /stack-generator@2.0.10: - resolution: - { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: - resolution: - { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false /statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.6.0: - resolution: - { integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== } + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true /stream-transform@2.1.3: - resolution: - { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true /streamx@2.15.1: - resolution: - { integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== } + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false /strict-event-emitter@0.5.1: - resolution: - { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} dev: true /string-range@1.2.2: - resolution: - { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } + resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} dev: true /string-template@0.2.1: - resolution: - { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: false /string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 /string-width@7.0.0: - resolution: - { integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -15432,9 +13796,8 @@ packages: dev: true /string.prototype.trim@1.2.8: - resolution: - { integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15442,8 +13805,7 @@ packages: dev: true /string.prototype.trimend@1.0.7: - resolution: - { integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== } + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15451,8 +13813,7 @@ packages: dev: true /string.prototype.trimstart@1.0.7: - resolution: - { integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== } + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15460,121 +13821,102 @@ packages: dev: true /string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true /string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 /strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false /strip-final-newline@3.0.0: - resolution: - { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} /strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@2.0.0: - resolution: - { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: - { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: - { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} /supports-hyperlinks@2.3.0: - resolution: - { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swagger2openapi@7.0.8: - resolution: - { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15593,21 +13935,18 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: - { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} dev: true /tapable@2.2.1: - resolution: - { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15617,8 +13956,7 @@ packages: dev: false /tar-stream@3.1.6: - resolution: - { integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== } + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 @@ -15626,9 +13964,8 @@ packages: dev: false /tar@6.2.0: - resolution: - { integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15639,43 +13976,37 @@ packages: dev: false /term-size@2.2.1: - resolution: - { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} dev: true /terminal-link@3.0.0: - resolution: - { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: - { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} /thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: - { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: bufrw: 1.3.0 @@ -15684,97 +14015,81 @@ packages: dev: false /time-span@4.0.0: - resolution: - { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: false /tinybench@2.5.1: - resolution: - { integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== } + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.8.4: - resolution: - { integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} dev: true /tinyspy@2.2.0: - resolution: - { integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} dev: true /tmp-promise@3.0.3: - resolution: - { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: - { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: - { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} dev: false /to-fast-properties@2.0.0: - resolution: - { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} /to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: - { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false /tomlify-j0.4@3.0.0: - resolution: - { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } + resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} dev: false /tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /traverse@0.6.7: - resolution: - { integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== } + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true /trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} dev: true /trough@1.0.5: - resolution: - { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: - { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -15782,23 +14097,20 @@ packages: dev: true /ts-invariant@0.10.3: - resolution: - { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: - { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15828,8 +14140,7 @@ packages: yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15838,17 +14149,14 @@ packages: dev: true /tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} /tslib@2.6.2: - resolution: - { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.8.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15857,9 +14165,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15868,9 +14175,8 @@ packages: dev: false /tsx@4.7.2: - resolution: - { integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.11 @@ -15880,9 +14186,8 @@ packages: dev: true /tty-table@4.2.1: - resolution: - { integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -15895,15 +14200,13 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /turbo-darwin-64@1.13.2: - resolution: - { integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA== } + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -15911,8 +14214,7 @@ packages: optional: true /turbo-darwin-arm64@1.13.2: - resolution: - { integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw== } + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -15920,8 +14222,7 @@ packages: optional: true /turbo-linux-64@1.13.2: - resolution: - { integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ== } + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -15929,8 +14230,7 @@ packages: optional: true /turbo-linux-arm64@1.13.2: - resolution: - { integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg== } + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} cpu: [arm64] os: [linux] requiresBuild: true @@ -15938,8 +14238,7 @@ packages: optional: true /turbo-windows-64@1.13.2: - resolution: - { integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA== } + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} cpu: [x64] os: [win32] requiresBuild: true @@ -15947,8 +14246,7 @@ packages: optional: true /turbo-windows-arm64@1.13.2: - resolution: - { integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA== } + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -15956,8 +14254,7 @@ packages: optional: true /turbo@1.13.2: - resolution: - { integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ== } + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} hasBin: true optionalDependencies: turbo-darwin-64: 1.13.2 @@ -15969,86 +14266,72 @@ packages: dev: true /typanion@3.14.0: - resolution: - { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} dev: true /type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-fest@1.4.0: - resolution: - { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: false /type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: false /type-fest@3.13.1: - resolution: - { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /type-fest@4.9.0: - resolution: - { integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} + engines: {node: '>=16'} dev: true /typed-array-buffer@1.0.0: - resolution: - { integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16056,9 +14339,8 @@ packages: dev: true /typed-array-byte-length@1.0.0: - resolution: - { integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16067,9 +14349,8 @@ packages: dev: true /typed-array-byte-offset@1.0.0: - resolution: - { integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16079,8 +14360,7 @@ packages: dev: true /typed-array-length@1.0.4: - resolution: - { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16088,19 +14368,16 @@ packages: dev: true /typedarray-to-buffer@1.0.4: - resolution: - { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } + resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true /typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript-eslint@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -16118,33 +14395,28 @@ packages: dev: true /typescript@4.8.2: - resolution: - { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + engines: {node: '>=4.2.0'} hasBin: true dev: true /typescript@5.2.2: - resolution: - { integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: false /typescript@5.4.5: - resolution: - { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.0: - resolution: - { integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /unbox-primitive@1.0.2: - resolution: - { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -16153,50 +14425,42 @@ packages: dev: true /underscore@1.13.6: - resolution: - { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true /undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: - { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} dev: true /unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} dev: true /unified@9.2.2: - resolution: - { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: '@types/unist': 2.0.8 bail: 1.0.5 @@ -16208,41 +14472,35 @@ packages: dev: true /unist-util-is@4.1.0: - resolution: - { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} dev: true /unist-util-stringify-position@2.0.3: - resolution: - { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.8 dev: true /unist-util-visit-parents@3.1.1: - resolution: - { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: true /universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-dgram@2.0.6: - resolution: - { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } - engines: { node: '>=0.10.48' } + resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} + engines: {node: '>=0.10.48'} requiresBuild: true dependencies: bindings: 1.5.0 @@ -16251,16 +14509,14 @@ packages: optional: true /unixify@1.0.0: - resolution: - { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: false /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16270,87 +14526,73 @@ packages: picocolors: 1.0.0 /update-section@0.3.3: - resolution: - { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} dev: true /upper-case-first@2.0.2: - resolution: - { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 /urlpattern-polyfill@8.0.2: - resolution: - { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false /util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: false /uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true /v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validate-npm-package-name@4.0.0: - resolution: - { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: - { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: - { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: - { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: '@types/unist': 2.0.8 is-buffer: 2.0.5 @@ -16359,9 +14601,8 @@ packages: dev: true /vite-node@1.5.0(@types/node@20.12.7): - resolution: - { integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 @@ -16381,9 +14622,8 @@ packages: dev: true /vite@5.2.10(@types/node@20.12.7): - resolution: - { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -16418,9 +14658,8 @@ packages: dev: true /vitest@1.5.0(@types/node@20.12.7): - resolution: - { integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16475,37 +14714,31 @@ packages: dev: true /vlq@0.2.3: - resolution: - { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true /wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.2.1: - resolution: - { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16515,23 +14748,20 @@ packages: dev: true /which-module@2.0.1: - resolution: - { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-pm@2.0.0: - resolution: - { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } - engines: { node: '>=8.15' } + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true /which-typed-array@1.1.11: - resolution: - { integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16541,34 +14771,30 @@ packages: dev: true /which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 /which@4.0.0: - resolution: - { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: - { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} hasBin: true dependencies: siginfo: 2.0.0 @@ -16576,53 +14802,46 @@ packages: dev: true /wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 dev: false /widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: - { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} /wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16630,9 +14849,8 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 @@ -16640,13 +14858,11 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /ws@7.5.9: - resolution: - { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16658,103 +14874,86 @@ packages: dev: true /xorshift@1.2.0: - resolution: - { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } + resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} dev: false /xtend@2.0.6: - resolution: - { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} + engines: {node: '>=0.4'} dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: - { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} + engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: - { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} dev: true /xtend@3.0.0: - resolution: - { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} + engines: {node: '>=0.4'} dev: true /xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /y18n@4.0.3: - resolution: - { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} /yallist@2.1.2: - resolution: - { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.3.4: - resolution: - { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} /yargs@15.4.1: - resolution: - { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16770,9 +14969,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -16784,9 +14982,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -16797,53 +14994,45 @@ packages: yargs-parser: 21.1.1 /yarn@1.22.22: - resolution: - { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true dev: false /yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} /yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} /yoga-layout-prebuilt@1.10.0: - resolution: - { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: - { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: - { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: true /zip-stream@4.1.1: - resolution: - { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -16851,9 +15040,8 @@ packages: dev: false /zip-stream@5.0.1: - resolution: - { integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 @@ -16861,8 +15049,7 @@ packages: dev: false /zod-to-json-schema@3.23.0(zod@3.23.4): - resolution: - { integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag== } + resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} peerDependencies: zod: ^3.23.3 dependencies: @@ -16870,10 +15057,8 @@ packages: dev: false /zod@3.23.4: - resolution: - { integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw== } + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} /zwitch@1.0.5: - resolution: - { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From f5238e8381a1e8c8d76b639567f951510d989844 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 103/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From cdab4cade13a7dcf0eeb10a4317ef2e85194c988 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 104/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From 72dec2055f265a70e9b2e0f6c416c9b2f5d40bed Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 105/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 3aaec303a9001570d8d8f4990c72b0ff9c94aee0 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 106/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 4af0fa3de6d4a01bea529b4906da266aa73de8f3 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 107/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From e1f83c5fa9ea4701f29a437693965367800dc32a Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 108/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From ecd9952d46a329f603970ad98b72f7fdccc10e1a Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 109/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 804711fe5a03345085f57aa0be2d5f54a368ddef Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 24 Apr 2024 13:47:27 +0200 Subject: [PATCH 110/145] fix name change display --- cli/src/commands/schema/edit.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 306ea8869..35c2620e5 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -324,8 +324,8 @@ export default class EditSchema extends BaseCommand { } // Checking names are not the same because it is possible only nullable or unique changed if (maybeNewColumnName && maybeNewColumnName !== column.originalName) { - return ` - ${chalk.bold(maybeNewColumnName)} -> ${chalk.yellow.strikethrough( - column.originalName + return ` - ${chalk.yellow.strikethrough(column.originalName)} -> ${chalk.bold( + maybeNewColumnName )} (${metadata})`; } return `- ${chalk.cyan(column.originalName)} (${metadata})`; @@ -342,8 +342,8 @@ export default class EditSchema extends BaseCommand { return `• ${chalk.red.strikethrough(originalName)}`; } if (tableEdit) { - return `• ${chalk.bold(this.renderTableNameEdited(originalName) ?? originalName)} -> ${chalk.yellow.strikethrough( - originalName + return `• ${chalk.yellow.strikethrough(originalName)} -> ${chalk.bold( + this.renderTableNameEdited(originalName) ?? originalName )}`; } return newTable ? `• ${chalk.bold(originalName)}` : `• ${chalk.bold(originalName)}`; From 6746521836b3403e0fbe01511a80b844daf2187c Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 24 Apr 2024 15:18:16 +0200 Subject: [PATCH 111/145] call adapt --- cli/src/commands/schema/edit.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 35c2620e5..401d727cf 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -249,7 +249,7 @@ export default class EditSchema extends BaseCommand { region: this.region, dbBranchName: `${this.database}:${this.branch}` }, - body: this.currentMigration + body: { ...this.currentMigration, adaptTables: true } }); await waitForMigrationToFinish( @@ -324,9 +324,7 @@ export default class EditSchema extends BaseCommand { } // Checking names are not the same because it is possible only nullable or unique changed if (maybeNewColumnName && maybeNewColumnName !== column.originalName) { - return ` - ${chalk.yellow.strikethrough(column.originalName)} -> ${chalk.bold( - maybeNewColumnName - )} (${metadata})`; + return ` - ${chalk.yellow.strikethrough(column.originalName)} -> ${chalk.bold(maybeNewColumnName)} (${metadata})`; } return `- ${chalk.cyan(column.originalName)} (${metadata})`; } From 34b912286117e10863bdc977cc1f92ff7b23020f Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 112/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From cc89913cb349287556ac60973c578978f97eff76 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 113/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From 0b4d9ad4c9884df372ca59db37938f8fbcc6e816 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 114/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 65917584778e817a74a45617f5936d13c439e304 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 115/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 - packages/client/src/schema/cache.ts | 53 - packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 - packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 - packages/plugin-client-cache/package.json | 33 - .../plugin-client-cache/rollup.config.mjs | 29 - packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 - packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 - .../plugin-client-cloudflare/package.json | 28 - .../rollup.config.mjs | 29 - .../plugin-client-cloudflare/src/cache.ts | 88 - .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 - pnpm-lock.yaml | 7581 +++++++---------- test/integration/cache.test.ts | 113 - test/utils/setup.ts | 7 +- 27 files changed, 2885 insertions(+), 6017 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index deadc8b68..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.0" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 3b4b3b8ae..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240423.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf2e54103..af299ddb9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@babel/core': @@ -390,25 +391,6 @@ importers: specifier: ^4.7.2 version: 4.7.2 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.0 - version: 10.2.0 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240423.0 - version: 4.20240423.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -467,23 +449,21 @@ importers: version: link:../client packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: - resolution: - { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: - { integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg== } + resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -518,8 +498,7 @@ packages: dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -527,8 +506,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -536,15 +514,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -556,8 +532,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -570,8 +545,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -579,15 +553,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -595,9 +567,8 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: - { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -647,9 +618,8 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: - { integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -713,9 +683,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -764,9 +733,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -815,9 +783,8 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: - { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -862,9 +829,8 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: - { integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -909,9 +875,8 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -959,9 +924,8 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -1009,9 +973,8 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: - { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1023,9 +986,8 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: - { integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1037,9 +999,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1048,9 +1009,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: - { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1064,9 +1024,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: - { integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1080,9 +1039,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1101,9 +1059,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1122,9 +1079,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: - { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -1143,9 +1099,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: - { integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -1164,9 +1119,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1176,9 +1130,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -1193,9 +1146,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -1210,9 +1162,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1225,9 +1176,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1240,9 +1190,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1254,9 +1203,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1265,9 +1213,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -1280,9 +1227,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1291,9 +1237,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1301,9 +1246,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1311,9 +1255,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1322,9 +1265,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: - { integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1338,9 +1280,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: - { integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1352,9 +1293,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: - { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1362,9 +1302,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: - { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1374,9 +1313,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: - { integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -1386,9 +1324,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1399,9 +1336,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: - { integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -1412,9 +1348,8 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1428,9 +1363,8 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1444,26 +1378,23 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: - { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1472,9 +1403,8 @@ packages: dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: - { integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1483,16 +1413,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.465.0: - resolution: - { integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1501,9 +1429,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: - { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1517,44 +1444,38 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: - { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 /@babel/compat-data@7.24.1: - resolution: - { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} /@babel/compat-data@7.24.4: - resolution: - { integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.24.4: - resolution: - { integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.24.2 @@ -1575,9 +1496,8 @@ packages: - supports-color /@babel/generator@7.24.4: - resolution: - { integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -1585,25 +1505,22 @@ packages: jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: - { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 @@ -1612,9 +1529,8 @@ packages: semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1631,9 +1547,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1650,9 +1565,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): - resolution: - { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1663,8 +1577,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1679,44 +1592,38 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.23.0: - resolution: - { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: - { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: - { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1728,23 +1635,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): - resolution: - { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1755,9 +1659,8 @@ packages: dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1768,46 +1671,39 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: - resolution: - { integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: - { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.23.5: - resolution: - { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.20: - resolution: - { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 @@ -1815,9 +1711,8 @@ packages: dev: true /@babel/helpers@7.24.4: - resolution: - { integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -1826,9 +1721,8 @@ packages: - supports-color /@babel/highlight@7.24.2: - resolution: - { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -1836,34 +1730,30 @@ packages: picocolors: 1.0.0 /@babel/parser@7.23.3: - resolution: - { integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/parser@7.24.1: - resolution: - { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/parser@7.24.4: - resolution: - { integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1873,9 +1763,8 @@ packages: dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1884,9 +1773,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1897,9 +1785,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1909,9 +1796,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): - resolution: - { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1919,8 +1805,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1929,8 +1814,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1939,9 +1823,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1950,8 +1833,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1960,8 +1842,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1970,9 +1851,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,9 +1861,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1992,8 +1871,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2002,8 +1880,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2012,9 +1889,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2023,8 +1899,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2033,8 +1908,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2043,8 +1917,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2053,8 +1926,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2063,8 +1935,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2073,8 +1944,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2083,9 +1953,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2094,9 +1963,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2105,9 +1973,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2116,9 +1983,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): - resolution: - { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2128,9 +1994,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2139,9 +2004,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2153,9 +2017,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2166,9 +2029,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2177,9 +2039,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2188,9 +2049,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2200,9 +2060,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2213,9 +2072,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2231,9 +2089,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2243,9 +2100,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2254,9 +2110,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2266,9 +2121,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2277,9 +2131,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2289,9 +2142,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2301,9 +2153,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2313,9 +2164,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2325,9 +2175,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2338,9 +2187,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2350,9 +2198,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2361,9 +2208,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2373,9 +2219,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2384,9 +2229,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2396,9 +2240,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2409,9 +2252,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2423,9 +2265,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2435,9 +2276,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2447,9 +2287,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2458,9 +2297,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2470,9 +2308,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2482,9 +2319,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2496,9 +2332,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2508,9 +2343,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2520,9 +2354,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2533,9 +2366,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2544,9 +2376,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2556,9 +2387,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2570,9 +2400,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2581,9 +2410,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2593,9 +2421,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2604,9 +2431,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2615,9 +2441,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2627,9 +2452,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2638,9 +2462,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2649,9 +2472,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2660,9 +2482,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2674,9 +2495,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2685,9 +2505,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2697,9 +2516,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2709,9 +2527,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2721,9 +2538,8 @@ packages: dev: true /@babel/preset-env@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2814,8 +2630,7 @@ packages: dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): - resolution: - { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: @@ -2826,9 +2641,8 @@ packages: dev: true /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2841,31 +2655,27 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.23.1: - resolution: - { integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 dev: true /@babel/template@7.24.0: - resolution: - { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: - resolution: - { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -2881,24 +2691,21 @@ packages: - supports-color /@babel/types@7.24.0: - resolution: - { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@bugsnag/browser@7.21.0: - resolution: - { integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA== } + resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: - { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } + resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2908,21 +2715,18 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: - { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } + resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} dev: false /@bugsnag/js@7.21.0: - resolution: - { integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg== } + resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} dependencies: '@bugsnag/browser': 7.21.0 '@bugsnag/node': 7.19.0 dev: false /@bugsnag/node@7.19.0: - resolution: - { integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w== } + resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2933,27 +2737,23 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: - { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: - { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: - { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: - { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.23.1 '@changesets/config': 3.0.0 @@ -2971,8 +2771,7 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: - { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2983,15 +2782,13 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: - { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: - { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -3001,8 +2798,7 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: - { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.23.1 @@ -3040,8 +2836,7 @@ packages: dev: true /@changesets/config@3.0.0: - resolution: - { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -3053,15 +2848,13 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: - { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: - { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -3071,8 +2864,7 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: - { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -3081,8 +2873,7 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: - { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/assemble-release-plan': 6.0.0 @@ -3094,13 +2885,11 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: - { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true /@changesets/git@3.0.0: - resolution: - { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3112,23 +2901,20 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: - { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: - { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: - { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3138,8 +2924,7 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: - { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/git': 3.0.0 @@ -3152,18 +2937,15 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: - { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true /@changesets/types@6.0.0: - resolution: - { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true /@changesets/write@0.3.0: - resolution: - { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 6.0.0 @@ -3172,57 +2954,45 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240423.0: - resolution: - { integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw== } - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: - { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: - { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } - engines: { node: '>=16' } + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: - { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} dev: false /@edge-runtime/primitives@4.1.0: - resolution: - { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} dev: false /@edge-runtime/vm@3.2.0: - resolution: - { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: - { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3230,9 +3000,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3240,9 +3009,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: - { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3250,9 +3018,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.2: - resolution: - { integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3260,9 +3027,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3270,9 +3036,8 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: - { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3280,9 +3045,8 @@ packages: optional: true /@esbuild/android-arm@0.19.2: - resolution: - { integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3290,9 +3054,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3300,9 +3063,8 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: - { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3310,9 +3072,8 @@ packages: optional: true /@esbuild/android-x64@0.19.2: - resolution: - { integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3320,9 +3081,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3330,9 +3090,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: - { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3340,9 +3099,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.2: - resolution: - { integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3350,9 +3108,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3360,9 +3117,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: - { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3370,9 +3126,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.2: - resolution: - { integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3380,9 +3135,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3390,9 +3144,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: - { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3400,9 +3153,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.2: - resolution: - { integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3410,9 +3162,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3420,9 +3171,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: - { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3430,9 +3180,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.2: - resolution: - { integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3440,9 +3189,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3450,9 +3198,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: - { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3460,9 +3207,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.2: - resolution: - { integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3470,9 +3216,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3480,9 +3225,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: - { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3490,9 +3234,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.2: - resolution: - { integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3500,9 +3243,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3510,9 +3252,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: - { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3520,9 +3261,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.2: - resolution: - { integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3530,9 +3270,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3540,9 +3279,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: - { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3550,9 +3288,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.2: - resolution: - { integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3560,9 +3297,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3570,9 +3306,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: - { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3580,9 +3315,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.2: - resolution: - { integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3590,9 +3324,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3600,9 +3333,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: - { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3610,9 +3342,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.2: - resolution: - { integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3620,9 +3351,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3630,9 +3360,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: - { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3640,9 +3369,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.2: - resolution: - { integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3650,9 +3378,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3660,9 +3387,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: - { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3670,9 +3396,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.2: - resolution: - { integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3680,9 +3405,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3690,9 +3414,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: - { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3700,9 +3423,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.2: - resolution: - { integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3710,9 +3432,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3720,9 +3441,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: - { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3730,9 +3450,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.2: - resolution: - { integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3740,9 +3459,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3750,9 +3468,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: - { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3760,9 +3477,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.2: - resolution: - { integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3770,9 +3486,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3780,9 +3495,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: - { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3790,9 +3504,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.2: - resolution: - { integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3800,9 +3513,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3810,9 +3522,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: - { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3820,9 +3531,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.2: - resolution: - { integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3830,9 +3540,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3840,9 +3549,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: - { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3850,9 +3558,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.2: - resolution: - { integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3860,9 +3567,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3870,9 +3576,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: - { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3880,9 +3585,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.2: - resolution: - { integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3890,9 +3594,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3900,9 +3603,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): - resolution: - { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3911,15 +3613,13 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: - { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@3.0.2: - resolution: - { integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -3935,25 +3635,21 @@ packages: dev: true /@eslint/js@9.1.1: - resolution: - { integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /@exodus/schemasafe@1.3.0: - resolution: - { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true /@faker-js/faker@8.4.1: - resolution: - { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: - { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3961,17 +3657,15 @@ packages: dev: true /@grpc/grpc-js@1.9.3: - resolution: - { integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA== } - engines: { node: ^8.13.0 || >=10.10.0 } + resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} + engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.10 '@types/node': 20.12.7 /@grpc/proto-loader@0.7.10: - resolution: - { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} hasBin: true dependencies: lodash.camelcase: 4.3.0 @@ -3980,9 +3674,8 @@ packages: yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: - { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} + engines: {node: '>=14'} dependencies: '@grpc/grpc-js': 1.9.3 '@opentelemetry/api': 1.8.0 @@ -4001,9 +3694,8 @@ packages: dev: false /@humanwhocodes/config-array@0.13.0: - resolution: - { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@9.4.0) @@ -4013,54 +3705,46 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/momoa@2.0.4: - resolution: - { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} dev: false /@humanwhocodes/object-schema@2.0.3: - resolution: - { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@humanwhocodes/retry@0.2.3: - resolution: - { integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g== } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} dev: true /@import-maps/resolve@1.0.1: - resolution: - { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } + resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: false /@inquirer/confirm@3.1.4: - resolution: - { integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.5: - resolution: - { integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.1 '@inquirer/type': 1.3.0 /@inquirer/core@7.1.2: - resolution: - { integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw==} + engines: {node: '>=18'} dependencies: '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 @@ -4078,9 +3762,8 @@ packages: dev: true /@inquirer/core@8.0.0: - resolution: - { integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -4098,9 +3781,8 @@ packages: dev: true /@inquirer/core@8.0.1: - resolution: - { integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.0 @@ -4117,29 +3799,25 @@ packages: wrap-ansi: 6.2.0 /@inquirer/figures@1.0.0: - resolution: - { integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} dev: true /@inquirer/figures@1.0.1: - resolution: - { integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + engines: {node: '>=18'} /@inquirer/input@2.1.1: - resolution: - { integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 dev: true /@inquirer/select@2.2.1: - resolution: - { integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 @@ -4149,14 +3827,12 @@ packages: dev: true /@inquirer/type@1.3.0: - resolution: - { integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} /@isaacs/cliui@8.0.2: - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -4167,17 +3843,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: - { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -4187,45 +3861,38 @@ packages: dev: false /@jridgewell/gen-mapping@0.3.5: - resolution: - { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/resolve-uri@3.1.1: - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.2.1: - resolution: - { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} /@jridgewell/trace-mapping@0.3.25: - resolution: - { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@manypkg/find-root@1.1.0: - resolution: - { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.23.1 '@types/node': 12.20.55 @@ -4234,8 +3901,7 @@ packages: dev: true /@manypkg/get-packages@1.1.3: - resolution: - { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 4.1.0 @@ -4246,8 +3912,7 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: - { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: detect-libc: 2.0.2 @@ -4265,15 +3930,13 @@ packages: dev: false /@mswjs/cookies@1.1.0: - resolution: - { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} + engines: {node: '>=18'} dev: true /@mswjs/interceptors@0.26.15: - resolution: - { integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ==} + engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4284,14 +3947,12 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: - { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } + resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: false /@netlify/build@29.20.6(@types/node@20.12.7): - resolution: - { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.21.0 @@ -4359,9 +4020,8 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: - { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -4374,9 +4034,8 @@ packages: dev: false /@netlify/config@20.9.0: - resolution: - { integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.3.0 @@ -4406,9 +4065,8 @@ packages: dev: false /@netlify/edge-bundler@8.18.0: - resolution: - { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -4435,9 +4093,8 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: - { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4445,9 +4102,8 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: - { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4455,9 +4111,8 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: - { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4465,9 +4120,8 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: - { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4475,9 +4129,8 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: - { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4485,9 +4138,8 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: - { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4495,9 +4147,8 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: - { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4505,9 +4156,8 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: - { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4515,9 +4165,8 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: - { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4525,9 +4174,8 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: - { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4535,9 +4183,8 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: - { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4545,9 +4192,8 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: - { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4555,9 +4201,8 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: - { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4565,9 +4210,8 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: - { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4575,9 +4219,8 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: - { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4585,9 +4228,8 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: - { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4595,9 +4237,8 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: - { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4605,9 +4246,8 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: - { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4615,9 +4255,8 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: - { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4625,9 +4264,8 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: - { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4635,9 +4273,8 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: - { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -4664,9 +4301,8 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: - { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -4681,9 +4317,8 @@ packages: dev: false /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: - { integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) cpy: 9.0.1 @@ -4694,9 +4329,8 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: - { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -4706,43 +4340,37 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: - { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} dev: false /@netlify/open-api@2.22.0: - resolution: - { integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow== } + resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} dev: false /@netlify/plugins-list@6.71.0: - resolution: - { integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} + engines: {node: ^14.14.0 || >=16.0.0} dev: false /@netlify/run-utils@5.1.1: - resolution: - { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: false /@netlify/serverless-functions-api@1.7.3: - resolution: - { integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: - { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4783,9 +4411,8 @@ packages: dev: false /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: - { integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4826,30 +4453,26 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} /@nodelib/fs.walk@1.2.8: - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 /@oclif/core@3.26.4: - resolution: - { integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w==} + engines: {node: '>=18.0.0'} dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4881,16 +4504,14 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.21: - resolution: - { integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 /@oclif/plugin-not-found@3.1.6: - resolution: - { integrity: sha512-87ckgDz+to7WySD7vrbELfWtK6uiaA8qf1Sp1AvU7m87tMSYOAkE7Jr+hX3MLpwM5Lt5nksG6t/gzP0PwSIKnA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-87ckgDz+to7WySD7vrbELfWtK6uiaA8qf1Sp1AvU7m87tMSYOAkE7Jr+hX3MLpwM5Lt5nksG6t/gzP0PwSIKnA==} + engines: {node: '>=18.0.0'} dependencies: '@inquirer/confirm': 3.1.5 '@oclif/core': 3.26.4 @@ -4898,9 +4519,8 @@ packages: fast-levenshtein: 3.0.0 /@oclif/plugin-plugins@5.0.14: - resolution: - { integrity: sha512-5LM3w2PPfB6qMtgrAq+n8hG295i4vbnuPfQN4wPGLJq1tIiDpBEAX1XHnGhUdAeU0V8CU2AnjiucXFMTKvIdow== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-5LM3w2PPfB6qMtgrAq+n8hG295i4vbnuPfQN4wPGLJq1tIiDpBEAX1XHnGhUdAeU0V8CU2AnjiucXFMTKvIdow==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4916,9 +4536,8 @@ packages: dev: false /@oclif/plugin-warn-if-update-available@3.0.15: - resolution: - { integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4930,26 +4549,22 @@ packages: dev: true /@open-draft/deferred-promise@2.2.0: - resolution: - { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true /@open-draft/logger@0.3.0: - resolution: - { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: - { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@openapi-codegen/cli@2.0.1(react@17.0.2): - resolution: - { integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ== } + resolution: {integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ==} hasBin: true dependencies: '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) @@ -4985,8 +4600,7 @@ packages: dev: true /@openapi-codegen/typescript@8.0.1: - resolution: - { integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ== } + resolution: {integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ==} dependencies: case: 1.6.3 lodash: 4.17.21 @@ -4998,22 +4612,19 @@ packages: dev: true /@opentelemetry/api-logs@0.50.0: - resolution: - { integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==} + engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: - { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5021,9 +4632,8 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5031,9 +4641,8 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5042,9 +4651,8 @@ packages: dev: false /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5053,9 +4661,8 @@ packages: dev: false /@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5063,9 +4670,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5077,9 +4683,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5094,9 +4699,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5109,9 +4713,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5126,9 +4729,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5142,9 +4744,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5158,9 +4759,8 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } - engines: { node: '>=14' } + resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5173,9 +4773,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5189,9 +4788,8 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5203,9 +4801,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5218,9 +4815,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5236,9 +4832,8 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5247,9 +4842,8 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5258,9 +4852,8 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5272,9 +4865,8 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5286,9 +4878,8 @@ packages: dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5299,9 +4890,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5313,9 +4903,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.50.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5329,9 +4918,8 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5340,9 +4928,8 @@ packages: dev: false /@opentelemetry/propagator-b3@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5351,9 +4938,8 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5362,9 +4948,8 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5373,9 +4958,8 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5385,9 +4969,8 @@ packages: dev: false /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5397,9 +4980,8 @@ packages: dev: false /@opentelemetry/resources@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5408,9 +4990,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/sdk-logs@0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -5422,9 +5003,8 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5435,9 +5015,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.8.0' dependencies: @@ -5448,9 +5027,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5461,9 +5039,8 @@ packages: dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5485,9 +5062,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5498,9 +5074,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5510,9 +5085,8 @@ packages: '@opentelemetry/semantic-conventions': 1.23.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5526,9 +5100,8 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5542,86 +5115,70 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: - { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.18.1: - resolution: - { integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.23.0: - resolution: - { integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==} + engines: {node: '>=14'} /@pkgjs/parseargs@0.11.0: - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} /@protobufjs/base64@1.1.2: - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} /@protobufjs/codegen@2.0.4: - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} /@protobufjs/eventemitter@1.1.0: - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} /@protobufjs/fetch@1.1.0: - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} /@protobufjs/inquire@1.1.0: - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} /@protobufjs/path@1.1.2: - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} /@protobufjs/pool@1.1.0: - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} /@protobufjs/utf8@1.1.0: - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} /@rollup/pluginutils@4.2.1: - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false /@rollup/pluginutils@5.0.5(rollup@4.16.4): - resolution: - { integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5635,8 +5192,7 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.16.4: - resolution: - { integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== } + resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} cpu: [arm] os: [android] requiresBuild: true @@ -5644,8 +5200,7 @@ packages: optional: true /@rollup/rollup-android-arm64@4.16.4: - resolution: - { integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== } + resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} cpu: [arm64] os: [android] requiresBuild: true @@ -5653,8 +5208,7 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.16.4: - resolution: - { integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== } + resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -5662,8 +5216,7 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.16.4: - resolution: - { integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== } + resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} cpu: [x64] os: [darwin] requiresBuild: true @@ -5671,8 +5224,7 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.16.4: - resolution: - { integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== } + resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} cpu: [arm] os: [linux] requiresBuild: true @@ -5680,8 +5232,7 @@ packages: optional: true /@rollup/rollup-linux-arm-musleabihf@4.16.4: - resolution: - { integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== } + resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} cpu: [arm] os: [linux] requiresBuild: true @@ -5689,8 +5240,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.16.4: - resolution: - { integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== } + resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5698,8 +5248,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.16.4: - resolution: - { integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== } + resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5707,8 +5256,7 @@ packages: optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.16.4: - resolution: - { integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== } + resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} cpu: [ppc64] os: [linux] requiresBuild: true @@ -5716,8 +5264,7 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.16.4: - resolution: - { integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== } + resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} cpu: [riscv64] os: [linux] requiresBuild: true @@ -5725,8 +5272,7 @@ packages: optional: true /@rollup/rollup-linux-s390x-gnu@4.16.4: - resolution: - { integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== } + resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} cpu: [s390x] os: [linux] requiresBuild: true @@ -5734,8 +5280,7 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.16.4: - resolution: - { integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== } + resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} cpu: [x64] os: [linux] requiresBuild: true @@ -5743,8 +5288,7 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.16.4: - resolution: - { integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== } + resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} cpu: [x64] os: [linux] requiresBuild: true @@ -5752,8 +5296,7 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.16.4: - resolution: - { integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== } + resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -5761,8 +5304,7 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.16.4: - resolution: - { integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== } + resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} cpu: [ia32] os: [win32] requiresBuild: true @@ -5770,8 +5312,7 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.16.4: - resolution: - { integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== } + resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} cpu: [x64] os: [win32] requiresBuild: true @@ -5779,42 +5320,36 @@ packages: optional: true /@sinclair/typebox@0.27.8: - resolution: - { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@5.6.0: - resolution: - { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} /@sindresorhus/merge-streams@2.3.0: - resolution: - { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} dev: true /@sindresorhus/slugify@2.2.1: - resolution: - { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + engines: {node: '>=12'} dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: - { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /@size-limit/esbuild@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5824,9 +5359,8 @@ packages: dev: true /@size-limit/file@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5834,8 +5368,7 @@ packages: dev: true /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } + resolution: {integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ==} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5845,33 +5378,29 @@ packages: dev: true /@smithy/abort-controller@2.2.0: - resolution: - { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: - { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5881,9 +5410,8 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: - { integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -5896,9 +5424,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5908,8 +5435,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5918,9 +5444,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5928,18 +5453,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5947,9 +5470,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5957,8 +5479,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -5968,8 +5489,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -5978,9 +5498,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -5989,9 +5508,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -5999,24 +5517,21 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6024,9 +5539,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -6034,9 +5548,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: - { integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -6048,9 +5561,8 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: - { integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -6064,27 +5576,24 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -6093,9 +5602,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -6105,27 +5613,24 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -6133,35 +5638,31 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: - { integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -6173,9 +5674,8 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: - { integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -6186,16 +5686,14 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: - { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: - { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -6203,9 +5701,8 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: - { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -6213,41 +5710,36 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: - { integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -6257,9 +5749,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: - { integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -6271,9 +5762,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6281,26 +5771,23 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -6308,9 +5795,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -6323,26 +5809,23 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -6350,9 +5833,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.89: - resolution: - { integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6360,9 +5842,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.89: - resolution: - { integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6370,9 +5851,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: - { integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6380,9 +5860,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.89: - resolution: - { integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6390,9 +5869,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.89: - resolution: - { integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6400,9 +5878,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.89: - resolution: - { integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6410,9 +5887,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.89: - resolution: - { integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6420,9 +5896,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.89: - resolution: - { integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6430,9 +5905,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.89: - resolution: - { integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -6440,9 +5914,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.89: - resolution: - { integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6450,9 +5923,8 @@ packages: optional: true /@swc/core@1.3.89: - resolution: - { integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -6476,30 +5948,25 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw== } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/types@0.1.5: - resolution: - { integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@5.0.1: - resolution: - { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: - { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: - { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -6515,8 +5982,7 @@ packages: dev: true /@ts-morph/common@0.23.0: - resolution: - { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} dependencies: fast-glob: 3.3.2 minimatch: 9.0.4 @@ -6524,24 +5990,19 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12@1.0.11: - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14@1.0.3: - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16@1.0.4: - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} /@types/babel__core@7.20.5: - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.24.0 @@ -6551,164 +6012,137 @@ packages: dev: true /@types/babel__generator@7.6.5: - resolution: - { integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== } + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.2: - resolution: - { integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== } + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.2: - resolution: - { integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== } + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/cli-progress@3.11.5: - resolution: - { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } + resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: '@types/node': 20.12.7 /@types/cookie@0.6.0: - resolution: - { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true /@types/estree@1.0.5: - resolution: - { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true /@types/http-cache-semantics@4.0.2: - resolution: - { integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== } + resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} /@types/ini@4.1.0: - resolution: - { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} dev: false /@types/istanbul-lib-coverage@2.0.4: - resolution: - { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false /@types/istanbul-lib-report@3.0.0: - resolution: - { integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false /@types/istanbul-reports@3.0.1: - resolution: - { integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false /@types/json-schema@7.0.15: - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.29: - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/lodash.chunk@4.2.9: - resolution: - { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } + resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.compact@3.0.9: - resolution: - { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } + resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.get@4.4.9: - resolution: - { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } + resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.pick@4.4.9: - resolution: - { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.set@4.3.9: - resolution: - { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash@4.14.199: - resolution: - { integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== } + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: - resolution: - { integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== } + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.8 dev: true /@types/minimist@1.2.2: - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/mute-stream@0.0.4: - resolution: - { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.12.7 /@types/node@12.20.55: - resolution: - { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true /@types/node@20.12.7: - resolution: - { integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== } + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/normalize-package-data@2.4.2: - resolution: - { integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== } + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} /@types/papaparse@5.3.14: - resolution: - { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } + resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} dependencies: '@types/node': 20.12.7 dev: true /@types/pg@8.11.5: - resolution: - { integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw== } + resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: '@types/node': 20.12.7 pg-protocol: 1.6.1 @@ -6716,97 +6150,79 @@ packages: dev: true /@types/pluralize@0.0.33: - resolution: - { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} dev: true /@types/prettier@2.7.3: - resolution: - { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: '@types/node': 20.12.7 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: - { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } + resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} dev: true /@types/retry@0.12.1: - resolution: - { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: false /@types/semver@7.5.6: - resolution: - { integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== } + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true /@types/semver@7.5.8: - resolution: - { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} /@types/shimmer@1.0.3: - resolution: - { integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA== } + resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} dev: true /@types/statuses@2.0.4: - resolution: - { integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw== } + resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} dev: true /@types/text-table@0.2.5: - resolution: - { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } + resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} dev: true /@types/tmp@0.2.6: - resolution: - { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} dev: true /@types/unist@2.0.8: - resolution: - { integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== } + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: true /@types/which@3.0.3: - resolution: - { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } + resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} /@types/yargs-parser@21.0.1: - resolution: - { integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== } + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false /@types/yargs@16.0.6: - resolution: - { integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== } + resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} dependencies: '@types/yargs-parser': 21.0.1 dev: false /@types/yoga-layout@1.9.2: - resolution: - { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6834,9 +6250,8 @@ packages: dev: true /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6864,9 +6279,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6886,9 +6300,8 @@ packages: dev: true /@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6908,27 +6321,24 @@ packages: dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.7.1: - resolution: - { integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6947,9 +6357,8 @@ packages: dev: true /@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6968,27 +6377,23 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false /@typescript-eslint/types@6.21.0: - resolution: - { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.7.1: - resolution: - { integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.5): - resolution: - { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7008,9 +6413,8 @@ packages: dev: false /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7031,9 +6435,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5): - resolution: - { integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7054,9 +6457,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7074,9 +6476,8 @@ packages: dev: true /@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: @@ -7094,36 +6495,32 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.7.1: - resolution: - { integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: - { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} + engines: {node: '>=14'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) @@ -7143,8 +6540,7 @@ packages: dev: false /@vitest/expect@1.5.0: - resolution: - { integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA== } + resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} dependencies: '@vitest/spy': 1.5.0 '@vitest/utils': 1.5.0 @@ -7152,8 +6548,7 @@ packages: dev: true /@vitest/runner@1.5.0: - resolution: - { integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ== } + resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} dependencies: '@vitest/utils': 1.5.0 p-limit: 5.0.0 @@ -7161,8 +6556,7 @@ packages: dev: true /@vitest/snapshot@1.5.0: - resolution: - { integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A== } + resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 @@ -7170,15 +6564,13 @@ packages: dev: true /@vitest/spy@1.5.0: - resolution: - { integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w== } + resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} dependencies: tinyspy: 2.2.0 dev: true /@vitest/utils@1.5.0: - resolution: - { integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A== } + resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7187,44 +6579,38 @@ packages: dev: true /@wry/context@0.7.3: - resolution: - { integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/equality@0.5.6: - resolution: - { integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/trie@0.4.3: - resolution: - { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false /abstract-leveldown@0.12.4: - resolution: - { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } + resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} dependencies: xtend: 3.0.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.10.0): - resolution: - { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -7232,8 +6618,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7241,40 +6626,34 @@ packages: dev: true /acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn-walk@8.3.2: - resolution: - { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@5.7.4: - resolution: - { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true /acorn@8.11.3: - resolution: - { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: @@ -7282,17 +6661,15 @@ packages: dev: false /aggregate-error@4.0.1: - resolution: - { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: - { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: ajv: ^8.0.1 dependencies: @@ -7300,8 +6677,7 @@ packages: dev: false /ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -7310,8 +6686,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -7320,111 +6695,93 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: - { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: - { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } + resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} dev: false /ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} /ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: - { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: - { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} /ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} /ansi-styles@6.2.1: - resolution: - { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /ansicolors@0.3.2: - resolution: - { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} /any-date-parser@1.5.4: - resolution: - { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } + resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} dev: false /any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false /archiver-utils@2.1.0: - resolution: - { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7439,9 +6796,8 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: - { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7456,9 +6812,8 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: - { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -7469,9 +6824,8 @@ packages: dev: false /archiver@5.3.2: - resolution: - { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.4 @@ -7483,9 +6837,8 @@ packages: dev: false /archiver@6.0.1: - resolution: - { integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 async: 3.2.4 @@ -7497,40 +6850,34 @@ packages: dev: false /are-we-there-yet@2.0.0: - resolution: - { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 dev: false /arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} /array-buffer-byte-length@1.0.0: - resolution: - { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 dev: true /array-includes@3.1.7: - resolution: - { integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7540,14 +6887,12 @@ packages: dev: true /array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} /array.prototype.findlastindex@1.2.3: - resolution: - { integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7557,9 +6902,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7568,9 +6912,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7579,9 +6922,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.2: - resolution: - { integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 @@ -7593,20 +6935,17 @@ packages: dev: true /arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} dev: true /arrify@3.0.0: - resolution: - { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: false /asn1.js@5.4.1: - resolution: - { integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -7615,63 +6954,52 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: false /astral-regex@2.0.0: - resolution: - { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} /async-listen@3.0.1: - resolution: - { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} dev: false /async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: - { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false /async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /auto-bind@4.0.0: - resolution: - { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /available-typed-arrays@1.0.5: - resolution: - { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} dev: true /axios@1.5.0: - resolution: - { integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== } + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 @@ -7681,13 +7009,11 @@ packages: dev: false /b4a@1.6.4: - resolution: - { integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== } + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): - resolution: - { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7700,8 +7026,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7713,8 +7038,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7725,23 +7049,19 @@ packages: dev: true /bail@1.0.5: - resolution: - { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} dev: true /balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: - { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} peerDependencies: ajv: 4.11.8 - 8 dependencies: @@ -7754,36 +7074,31 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: - { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} dependencies: is-windows: 1.0.2 dev: true /binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bindings@1.5.0: - resolution: - { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: - { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } + resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -7791,55 +7106,46 @@ packages: dev: false /bn.js@4.12.0: - resolution: - { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true /bn.js@5.2.1: - resolution: - { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /bowser@2.11.0: - resolution: - { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: - { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: - { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true /browserify-aes@1.2.0: - resolution: - { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7850,8 +7156,7 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: - { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7859,8 +7164,7 @@ packages: dev: true /browserify-des@1.0.2: - resolution: - { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7869,8 +7173,7 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: - { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } + resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7878,16 +7181,14 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: - { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true /browserify-sign@4.2.1: - resolution: - { integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== } + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -7901,9 +7202,8 @@ packages: dev: true /browserslist@4.23.0: - resolution: - { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001600 @@ -7912,37 +7212,31 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-es6@4.9.3: - resolution: - { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} dev: true /buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: - resolution: - { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bufrw@1.3.0: - resolution: - { integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} + engines: {node: '>= 0.10.x'} dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7951,58 +7245,49 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: - { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} /builtins@2.0.1: - resolution: - { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } + resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: - { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: - { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} dev: false /bytes-iec@3.1.1: - resolution: - { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} dev: true /cac@6.7.14: - resolution: - { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /cacheable-lookup@7.0.0: - resolution: - { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} /cacheable-request@10.2.13: - resolution: - { integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.2 get-stream: 6.0.1 @@ -8013,34 +7298,29 @@ packages: responselike: 3.0.0 /call-bind@1.0.2: - resolution: - { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.1 /call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true /callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} /camel-case@4.1.2: - resolution: - { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -8048,24 +7328,20 @@ packages: dev: true /camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: false /caniuse-lite@1.0.30001600: - resolution: - { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} /capital-case@1.0.4: - resolution: - { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8073,27 +7349,23 @@ packages: dev: true /cardinal@2.1.1: - resolution: - { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: - { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} /ccount@1.1.0: - resolution: - { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true /chai@4.3.10: - resolution: - { integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -8105,30 +7377,26 @@ packages: dev: true /chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} /change-case@4.1.2: - resolution: - { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -8145,36 +7413,30 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: - { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true /character-entities@1.2.4: - resolution: - { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true /character-reference-invalid@1.1.4: - resolution: - { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true /chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /check-error@1.0.3: - resolution: - { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -8188,84 +7450,72 @@ packages: dev: true /chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: false /ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@3.0.1: - resolution: - { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: - { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -8277,43 +7527,37 @@ packages: dev: true /cli-progress@3.12.0: - resolution: - { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} /cli-truncate@2.1.0: - resolution: - { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: - { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.0.0 dev: true /cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} /clipanion@3.2.1(typanion@3.14.0): - resolution: - { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} peerDependencies: typanion: '*' dependencies: @@ -8321,8 +7565,7 @@ packages: dev: true /cliui@6.0.0: - resolution: - { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8330,8 +7573,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8339,88 +7581,74 @@ packages: dev: true /cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 /clone@0.1.19: - resolution: - { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } + resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} dev: true /clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /code-block-writer@13.0.1: - resolution: - { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} /code-excerpt@3.0.0: - resolution: - { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /color-string@1.9.1: - resolution: - { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false /color@4.2.3: - resolution: - { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors-option@3.0.0: - resolution: - { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} + engines: {node: '>=12.20.0'} dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -8429,39 +7657,33 @@ packages: dev: false /combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: false /commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false /common-path-prefix@3.0.0: - resolution: - { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false /compress-commons@4.1.2: - resolution: - { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -8470,9 +7692,8 @@ packages: dev: false /compress-commons@5.0.1: - resolution: - { integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 crc32-stream: 5.0.0 @@ -8481,13 +7702,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -8496,18 +7715,15 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: - { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false /constant-case@3.0.4: - resolution: - { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8515,48 +7731,40 @@ packages: dev: true /content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-hrtime@3.0.0: - resolution: - { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} dev: false /convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} /convert-to-spaces@1.0.2: - resolution: - { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} + engines: {node: '>= 4'} dev: true /cookie@0.5.0: - resolution: - { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /core-js-compat@3.36.1: - resolution: - { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cosmiconfig@9.0.0(typescript@5.4.5): - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8571,9 +7779,8 @@ packages: dev: false /cp-file@10.0.0: - resolution: - { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8581,9 +7788,8 @@ packages: dev: false /cp-file@9.1.0: - resolution: - { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} + engines: {node: '>=10'} dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8592,9 +7798,8 @@ packages: dev: false /cpy@9.0.1: - resolution: - { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } - engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} + engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8607,41 +7812,36 @@ packages: dev: false /crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: false /crc32-stream@4.0.3: - resolution: - { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /crc32-stream@5.0.0: - resolution: - { integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: - { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true /create-hash@1.2.0: - resolution: - { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8651,8 +7851,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8663,20 +7862,17 @@ packages: dev: true /create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cron-parser@4.9.0: - resolution: - { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} dependencies: luxon: 3.4.3 dev: false /cross-spawn@5.1.0: - resolution: - { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8684,17 +7880,15 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: - { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -8710,24 +7904,20 @@ packages: dev: true /csv-generate@3.4.3: - resolution: - { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true /csv-parse@4.16.3: - resolution: - { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true /csv-stringify@5.6.5: - resolution: - { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true /csv@5.5.3: - resolution: - { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } - engines: { node: '>= 0.1.90' } + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8736,19 +7926,16 @@ packages: dev: true /data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /dataloader@1.4.0: - resolution: - { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true /debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8759,9 +7946,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8772,9 +7958,8 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8785,84 +7970,72 @@ packages: supports-color: 9.4.0 /decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: - { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: false /default-browser-id@5.0.0: - resolution: - { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} dev: false /default-browser@5.2.1: - resolution: - { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} /deferred-leveldown@0.2.0: - resolution: - { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } + resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} dependencies: abstract-leveldown: 0.12.4 dev: true /define-data-property@1.1.0: - resolution: - { integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 gopd: 1.0.1 @@ -8870,15 +8043,13 @@ packages: dev: true /define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} dev: false /define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 @@ -8886,52 +8057,44 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /delegates@1.0.0: - resolution: - { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false /des.js@1.1.0: - resolution: - { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-libc@2.0.2: - resolution: - { integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: false /detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8941,26 +8104,23 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: - { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: - { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: - { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -8968,33 +8128,29 @@ packages: dev: false /detective-sass@5.0.3: - resolution: - { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: - { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: - { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: - { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) ast-module-types: 5.0.0 @@ -9005,19 +8161,16 @@ packages: dev: false /diff-sequences@29.6.3: - resolution: - { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /diffie-hellman@5.0.3: - resolution: - { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -9025,15 +8178,13 @@ packages: dev: true /dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: - { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -9047,16 +8198,14 @@ packages: dev: true /doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: - { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -9064,21 +8213,18 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domhandler@4.3.1: - resolution: - { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: - { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -9086,43 +8232,37 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: - { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} /dotenv@8.6.0: - resolution: - { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: true /drizzle-orm@0.30.9(@opentelemetry/api@1.8.0)(@types/pg@8.11.5)(@xata.io/client@packages+client)(pg@8.11.5)(react@17.0.2): - resolution: - { integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA== } + resolution: {integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -9209,13 +8349,11 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} /edge-runtime@2.5.9: - resolution: - { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -9230,20 +8368,17 @@ packages: dev: false /ejs@3.1.10: - resolution: - { integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 /electron-to-chromium@1.4.715: - resolution: - { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } + resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} /elliptic@6.5.4: - resolution: - { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -9255,109 +8390,92 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: - { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} dev: true /emoji-regex@10.3.0: - resolution: - { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} /end-of-stream@1.4.4: - resolution: - { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false /enhanced-resolve@5.15.0: - resolution: - { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: - { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true /entities@3.0.1: - resolution: - { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} dev: true /env-editor@1.1.0: - resolution: - { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} dev: false /env-paths@3.0.0: - resolution: - { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /errno@0.1.8: - resolution: - { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: - { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false /error@7.0.2: - resolution: - { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false /es-abstract@1.22.2: - resolution: - { integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -9401,13 +8519,11 @@ packages: dev: true /es-module-lexer@1.3.1: - resolution: - { integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== } + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: - resolution: - { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -9415,16 +8531,14 @@ packages: dev: true /es-shim-unscopables@1.0.0: - resolution: - { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive@1.2.1: - resolution: - { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -9432,14 +8546,12 @@ packages: dev: true /es6-promise@3.3.1: - resolution: - { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true /esbuild@0.19.11: - resolution: - { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9469,9 +8581,8 @@ packages: dev: true /esbuild@0.19.2: - resolution: - { integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9500,9 +8611,8 @@ packages: dev: false /esbuild@0.20.2: - resolution: - { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9532,36 +8642,30 @@ packages: dev: true /escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} /escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} /escape-string-regexp@5.0.0: - resolution: - { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: false /escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -9572,9 +8676,8 @@ packages: dev: false /eslint-config-oclif-typescript@3.1.6(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-K/Gv19vzTaeLQcs5syZ+Rup8RZfMclIuO2mV9YPG3GN64nSPA545+I7/uiaaxE4Ka+fKg2kZmMq3cFT0TOidpA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-K/Gv19vzTaeLQcs5syZ+Rup8RZfMclIuO2mV9YPG3GN64nSPA545+I7/uiaaxE4Ka+fKg2kZmMq3cFT0TOidpA==} + engines: {node: '>=18.0.0'} dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.1.1)(typescript@5.4.5) @@ -9597,9 +8700,8 @@ packages: dev: true /eslint-config-oclif@5.1.3(eslint@9.1.1): - resolution: - { integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug==} + engines: {node: '>=18.0.0'} dependencies: eslint-config-xo-space: 0.35.0(eslint@9.1.1) eslint-plugin-mocha: 10.4.3(eslint@9.1.1) @@ -9610,9 +8712,8 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@9.1.1): - resolution: - { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9621,9 +8722,8 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@9.1.1): - resolution: - { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9632,8 +8732,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -9643,9 +8742,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9667,9 +8765,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9691,9 +8788,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9722,9 +8818,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9753,9 +8848,8 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@9.1.1): - resolution: - { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9765,9 +8859,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9801,9 +8894,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9837,9 +8929,8 @@ packages: dev: true /eslint-plugin-mocha@10.4.3(eslint@9.1.1): - resolution: - { integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==} + engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9850,9 +8941,8 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@9.1.1): - resolution: - { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9868,8 +8958,7 @@ packages: dev: true /eslint-plugin-perfectionist@2.9.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw== } + resolution: {integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9896,9 +8985,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@9.1.1): - resolution: - { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -9921,26 +9009,23 @@ packages: dev: true /eslint-scope@8.0.1: - resolution: - { integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: - { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@9.1.1): - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: @@ -9949,32 +9034,27 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: - { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: true /eslint-visitor-keys@2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint-visitor-keys@4.0.0: - resolution: - { integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /eslint@9.1.1: - resolution: - { integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) @@ -10016,9 +9096,8 @@ packages: dev: true /espree@10.0.1: - resolution: - { integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -10026,74 +9105,62 @@ packages: dev: true /esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true /esquery@1.5.0: - resolution: - { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} /estree-walker@0.5.2: - resolution: - { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} dev: true /estree-walker@0.6.1: - resolution: - { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true /estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} /estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} /eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} /evp_bytestokey@1.0.3: - resolution: - { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10107,9 +9174,8 @@ packages: dev: false /execa@6.1.0: - resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10123,9 +9189,8 @@ packages: dev: false /execa@8.0.1: - resolution: - { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -10139,19 +9204,16 @@ packages: dev: true /extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /extendable-error@0.1.7: - resolution: - { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true /external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -10159,23 +9221,19 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} /fast-equals@3.0.3: - resolution: - { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } + resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} dev: false /fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: - resolution: - { integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10185,9 +9243,8 @@ packages: dev: true /fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10196,54 +9253,45 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-levenshtein@3.0.0: - resolution: - { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: - { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} /fast-xml-parser@4.2.5: - resolution: - { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: '>= 4.9.1' } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} /fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: - { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 dev: true /fdir@6.1.0: - resolution: - { integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg== } + resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} peerDependencies: picomatch: 2.x peerDependenciesMeta: @@ -10252,139 +9300,121 @@ packages: dev: false /fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 dev: false /figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /figures@4.0.1: - resolution: - { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: - { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: flat-cache: 4.0.1 dev: true /file-uri-to-path@1.0.0: - resolution: - { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true dev: false /filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: - { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /filter-obj@5.1.0: - resolution: - { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} dev: false /find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: - { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: - { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} dependencies: micromatch: 4.0.5 dev: true /flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.2.9 keyv: 4.5.4 dev: true /flatted@3.2.9: - resolution: - { integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== } + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /follow-redirects@1.15.3: - resolution: - { integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -10393,35 +9423,30 @@ packages: dev: false /for-each@0.3.3: - resolution: - { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: - { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true /foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: - { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } - engines: { node: '>= 14.17' } + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} /form-data@4.0.0: - resolution: - { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -10429,28 +9454,24 @@ packages: dev: false /format@0.2.2: - resolution: - { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} dev: true /formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false /fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -10458,9 +9479,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10468,9 +9488,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10478,34 +9497,29 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: false /fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + 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 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -10514,21 +9528,18 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /fwd-stream@1.0.4: - resolution: - { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } + resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: - { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10542,38 +9553,32 @@ packages: dev: false /gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} /get-amd-module-type@5.0.1: - resolution: - { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} /get-east-asian-width@1.2.0: - resolution: - { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true /get-func-name@2.0.2: - resolution: - { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: - resolution: - { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.2 has: 1.0.3 @@ -10581,82 +9586,69 @@ packages: has-symbols: 1.0.3 /get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} /get-port@6.1.2: - resolution: - { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /get-stdin@9.0.0: - resolution: - { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} /get-stream@8.0.1: - resolution: - { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: - resolution: - { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 dev: true /get-tsconfig@4.7.2: - resolution: - { integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== } + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: - { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /github-slugger@1.5.0: - resolution: - { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true /glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false /glob@10.3.8: - resolution: - { integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -10667,8 +9659,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10678,9 +9669,8 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: - { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10690,36 +9680,31 @@ packages: dev: false /globals@11.12.0: - resolution: - { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} /globals@13.24.0: - resolution: - { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globals@14.0.0: - resolution: - { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} dev: true /globalthis@1.0.3: - resolution: - { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -10729,9 +9714,8 @@ packages: slash: 3.0.0 /globby@13.2.2: - resolution: - { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -10740,9 +9724,8 @@ packages: slash: 4.0.0 /globby@14.0.1: - resolution: - { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -10753,25 +9736,22 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: - { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 dev: true /got-fetch@5.1.6(got@12.6.1): - resolution: - { integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} + engines: {node: '>=14.0.0'} peerDependencies: got: ^12.0.0 dependencies: @@ -10779,9 +9759,8 @@ packages: dev: true /got@12.6.1: - resolution: - { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10796,9 +9775,8 @@ packages: responselike: 3.0.0 /got@13.0.0: - resolution: - { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10814,23 +9792,19 @@ packages: dev: true /graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: - resolution: - { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true /graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: - { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + 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 dependencies: @@ -10839,79 +9813,66 @@ packages: dev: true /graphql@15.8.0: - resolution: - { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} dev: true /graphql@16.8.1: - resolution: - { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true /hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} dev: true /has-bigints@1.0.2: - resolution: - { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} /has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.0: - resolution: - { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 dev: true /has-proto@1.0.1: - resolution: - { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: - { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: - resolution: - { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false /has@1.0.3: - resolution: - { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 /hash-base@3.1.0: - resolution: - { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10919,37 +9880,32 @@ packages: dev: true /hash.js@1.1.7: - resolution: - { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /hasown@2.0.0: - resolution: - { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: - { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /headers-polyfill@4.0.2: - resolution: - { integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw== } + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hexer@1.5.0: - resolution: - { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: ansi-color: 0.2.1 @@ -10959,13 +9915,11 @@ packages: dev: false /highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true /hmac-drbg@1.0.1: - resolution: - { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -10973,43 +9927,37 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 /hosted-git-info@7.0.1: - resolution: - { integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: lru-cache: 10.2.0 dev: false /hot-shots@10.0.0: - resolution: - { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} + engines: {node: '>=10.0.0'} optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: - { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -11018,13 +9966,11 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-call@5.3.0: - resolution: - { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -11037,22 +9983,19 @@ packages: dev: true /http2-client@1.3.5: - resolution: - { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} dev: true /http2-wrapper@2.2.0: - resolution: - { integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -11061,74 +10004,62 @@ packages: dev: false /human-id@1.0.2: - resolution: - { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true /human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: false /human-signals@3.0.1: - resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} dev: false /human-signals@5.0.0: - resolution: - { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } - engines: { node: '>=16.17.0' } + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@9.0.11: - resolution: - { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} hasBin: true dev: true /hyperlinker@1.0.0: - resolution: - { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} /iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /idb-wrapper@1.7.2: - resolution: - { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } + resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} dev: true /ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false /ignore@5.3.1: - resolution: - { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} /import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: - { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} dependencies: acorn: 8.10.0 acorn-import-assertions: 1.9.0(acorn@8.10.0) @@ -11137,48 +10068,40 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} /indent-string@5.0.0: - resolution: - { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: false /indexof@0.0.1: - resolution: - { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: true /inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@4.1.2: - resolution: - { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /ink@3.2.0(react@17.0.2): - resolution: - { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -11216,9 +10139,8 @@ packages: dev: true /internal-slot@1.0.5: - resolution: - { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -11226,27 +10148,23 @@ packages: dev: true /interpret@1.4.0: - resolution: - { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: true /is-alphabetical@1.0.4: - resolution: - { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true /is-alphanumerical@1.0.4: - resolution: - { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true /is-array-buffer@3.0.2: - resolution: - { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -11254,357 +10172,300 @@ packages: dev: true /is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: - { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} /is-bigint@1.0.4: - resolution: - { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object@1.1.2: - resolution: - { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-buffer@2.0.5: - resolution: - { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: true /is-builtin-module@3.2.1: - resolution: - { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module@2.13.0: - resolution: - { integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-core-module@2.13.1: - resolution: - { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 /is-date-object@1.0.5: - resolution: - { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-decimal@1.0.4: - resolution: - { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true /is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true /is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: false /is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} /is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-fullwidth-code-point@5.0.0: - resolution: - { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: - { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true /is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-negative-zero@2.0.2: - resolution: - { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} dev: true /is-node-process@1.2.0: - resolution: - { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true /is-number-object@1.0.7: - resolution: - { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} /is-object@0.1.2: - resolution: - { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } + resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true /is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: false /is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@2.1.0: - resolution: - { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} /is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} /is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-retry-allowed@1.2.0: - resolution: - { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true /is-shared-array-buffer@1.0.2: - resolution: - { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-stream@3.0.0: - resolution: - { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /is-string@1.0.7: - resolution: - { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-subdir@1.2.0: - resolution: - { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: - { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.12: - resolution: - { integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 dev: true /is-unicode-supported@1.3.0: - resolution: - { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: false /is-url-superb@4.0.0: - resolution: - { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: false /is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: false /is-weakref@1.0.2: - resolution: - { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true /is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: - { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } + resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} dev: true /isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true /isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isbuffer@0.0.0: - resolution: - { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } + resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} dev: true /iserror@0.0.2: - resolution: - { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} dev: false /isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} dev: false /jackspeak@2.3.5: - resolution: - { integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -11612,9 +10473,8 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: - { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} + engines: {node: '>=10'} dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -11624,9 +10484,8 @@ packages: dev: false /jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -11635,15 +10494,13 @@ packages: minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: - { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false /jest-validate@27.5.1: - resolution: - { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11654,110 +10511,91 @@ packages: dev: false /jiti@1.21.0: - resolution: - { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /js-tokens@8.0.3: - resolution: - { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: - { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: - { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /jsesc@3.0.2: - resolution: - { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} /json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true /jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} /jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -11765,73 +10603,62 @@ packages: dev: true /jsonpointer@5.0.1: - resolution: - { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} dev: false /junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} dev: false /keep-func-props@4.0.1: - resolution: - { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} + engines: {node: '>=12.20.0'} dependencies: mimic-fn: 4.0.0 dev: false /keyv@4.5.3: - resolution: - { integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== } + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 /keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: false /kleur@4.1.5: - resolution: - { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /kysely@0.27.3: - resolution: - { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} dev: true /lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: - { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } + resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11839,8 +10666,7 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: - { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } + resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11854,27 +10680,23 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: - { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } + resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} dev: true /level-fix-range@2.0.0: - resolution: - { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } + resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: - { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } + resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: - { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } + resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11885,15 +10707,13 @@ packages: dev: true /level-peek@1.0.6: - resolution: - { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } + resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: - { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } + resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11902,8 +10722,7 @@ packages: dev: true /levelup@0.18.6: - resolution: - { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } + resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11915,40 +10734,34 @@ packages: dev: true /leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: false /levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: - { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} dev: true /lilconfig@3.1.1: - resolution: - { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} dev: true /lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lint-staged@15.2.2: - resolution: - { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 @@ -11966,9 +10779,8 @@ packages: dev: true /listr2@8.0.1: - resolution: - { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -11979,9 +10791,8 @@ packages: dev: true /load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -11990,9 +10801,8 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: - { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -12001,139 +10811,115 @@ packages: dev: true /local-pkg@0.5.0: - resolution: - { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.4.2 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: - { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false /lodash._reinterpolate@3.0.0: - resolution: - { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true /lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} /lodash.chunk@4.2.0: - resolution: - { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } + resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false /lodash.compact@3.0.1: - resolution: - { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } + resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} dev: false /lodash.debounce@4.0.8: - resolution: - { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.defaults@4.2.0: - resolution: - { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: false /lodash.difference@4.5.0: - resolution: - { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: false /lodash.flatten@4.4.0: - resolution: - { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false /lodash.get@4.4.2: - resolution: - { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false /lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.pick@4.4.0: - resolution: - { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: false /lodash.set@4.3.2: - resolution: - { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: false /lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true /lodash.template@4.5.0: - resolution: - { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: - { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: - { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: false /lodash@4.17.21: - resolution: - { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} /log-process-errors@8.0.0: - resolution: - { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} + engines: {node: '>=12.20.0'} dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -12145,9 +10931,8 @@ packages: dev: false /log-update@6.0.0: - resolution: - { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -12157,167 +10942,141 @@ packages: dev: true /long@2.4.0: - resolution: - { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} + engines: {node: '>=0.6'} dev: false /long@5.2.3: - resolution: - { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} /longest-streak@2.0.4: - resolution: - { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true /loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: - { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lowercase-keys@3.0.0: - resolution: - { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /lru-cache@10.2.0: - resolution: - { integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} /lru-cache@4.1.5: - resolution: - { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /ltgt@2.2.1: - resolution: - { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} dev: true /luxon@3.4.3: - resolution: - { integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} dev: false /macos-release@3.2.0: - resolution: - { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /magic-string@0.22.5: - resolution: - { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: - { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } + resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: - { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.30.4: - resolution: - { integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.5: - resolution: - { integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} dev: true /map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} dev: true /map-obj@5.0.2: - resolution: - { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /markdown-table@2.0.0: - resolution: - { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: - { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -12325,8 +11084,7 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: - { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -12334,8 +11092,7 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: - { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -12344,8 +11101,7 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: - { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.12 mdast-util-to-string: 2.0.0 @@ -12357,15 +11113,13 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: - { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: - { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -12375,30 +11129,26 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: - { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: - { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: - { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: - { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -12410,8 +11160,7 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: - { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: '@types/unist': 2.0.8 longest-streak: 2.0.4 @@ -12422,19 +11171,16 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: - { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true /memoize-one@6.0.0: - resolution: - { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false /meow@6.1.1: - resolution: - { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -12450,35 +11196,29 @@ packages: dev: true /merge-options@3.0.4: - resolution: - { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} /merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} /micro-api-client@3.3.0: - resolution: - { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } + resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} dev: false /micro-memoize@4.1.2: - resolution: - { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } + resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} dev: false /micromark-extension-footnote@0.3.2: - resolution: - { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12486,15 +11226,13 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: - { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: - { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12502,8 +11240,7 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: - { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12511,8 +11248,7 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: - { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12520,13 +11256,11 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: - { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: - { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12534,8 +11268,7 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: - { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -12548,8 +11281,7 @@ packages: dev: true /micromark@2.11.4: - resolution: - { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -12558,16 +11290,14 @@ packages: dev: true /micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: - { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: bn.js: 4.12.0 @@ -12575,87 +11305,73 @@ packages: dev: true /mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} /mimic-fn@4.0.0: - resolution: - { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} /mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} /mimic-response@4.0.0: - resolution: - { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimalistic-crypto-utils@1.0.1: - resolution: - { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true /minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 /minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: - { integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12663,60 +11379,51 @@ packages: dev: true /minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: false /minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: false /minipass@7.0.3: - resolution: - { integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 yallist: 4.0.0 dev: false /mixme@0.5.9: - resolution: - { integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} dev: true /mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true dev: false /mkdirp@3.0.1: - resolution: - { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true /mlly@1.4.2: - resolution: - { integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== } + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.3 pathe: 1.1.1 @@ -12725,9 +11432,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12735,44 +11441,37 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: - { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} /moize@6.1.6: - resolution: - { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } + resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: - { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: - { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false /ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /msw@2.2.14(typescript@5.4.5): - resolution: - { integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: @@ -12802,13 +11501,11 @@ packages: dev: true /mute-stream@1.0.0: - resolution: - { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} /mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 @@ -12816,55 +11513,46 @@ packages: dev: true /nan@2.18.0: - resolution: - { integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== } + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: - { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true /nanoid@5.0.6: - resolution: - { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } - engines: { node: ^18 || >=20 } + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} + engines: {node: ^18 || >=20} hasBin: true dev: true /nanospinner@1.1.0: - resolution: - { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /natural-orderby@2.0.3: - resolution: - { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} /nested-error-stacks@2.1.1: - resolution: - { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false /netlify-headers-parser@7.1.2: - resolution: - { integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 @@ -12875,9 +11563,8 @@ packages: dev: false /netlify-redirect-parser@14.2.0: - resolution: - { integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 @@ -12887,9 +11574,8 @@ packages: dev: false /netlify@13.1.10: - resolution: - { integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.22.0 lodash-es: 4.17.21 @@ -12901,31 +11587,27 @@ packages: dev: false /no-case@3.0.4: - resolution: - { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-fetch-h2@2.3.0: - resolution: - { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12935,9 +11617,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -12945,53 +11626,45 @@ packages: dev: false /node-gyp-build@4.6.1: - resolution: - { integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== } + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false /node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false /node-readfiles@0.2.0: - resolution: - { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: - { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /node-source-walk@6.0.2: - resolution: - { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: - { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} dev: false /nopt@5.0.0: - resolution: - { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true dependencies: abbrev: 1.1.1 dev: false /normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.6 @@ -13000,9 +11673,8 @@ packages: dev: true /normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 @@ -13010,27 +11682,23 @@ packages: validate-npm-package-license: 3.0.4 /normalize-path@2.1.1: - resolution: - { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} /normalize-url@8.0.0: - resolution: - { integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} /npm-package-arg@11.0.2: - resolution: - { integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 proc-log: 4.0.0 @@ -13039,32 +11707,28 @@ packages: dev: false /npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false /npm-run-path@5.1.0: - resolution: - { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 /npm-run-path@5.3.0: - resolution: - { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: false /npm@10.5.0: - resolution: - { integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: false bundledDependencies: @@ -13140,8 +11804,7 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: - { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -13150,15 +11813,13 @@ packages: dev: false /oas-kit-common@1.0.8: - resolution: - { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: - { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -13166,8 +11827,7 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: - { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -13178,13 +11838,11 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: - { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} dev: true /oas-validator@5.0.8: - resolution: - { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -13197,17 +11855,14 @@ packages: dev: true /object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.12.3: - resolution: - { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@0.2.0: - resolution: - { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } + resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -13216,25 +11871,21 @@ packages: dev: true /object-keys@0.4.0: - resolution: - { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true /object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-treeify@1.1.33: - resolution: - { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} /object.assign@4.1.4: - resolution: - { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13243,9 +11894,8 @@ packages: dev: true /object.fromentries@2.0.7: - resolution: - { integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13253,8 +11903,7 @@ packages: dev: true /object.groupby@1.0.1: - resolution: - { integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== } + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13263,9 +11912,8 @@ packages: dev: true /object.values@1.1.7: - resolution: - { integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13273,14 +11921,12 @@ packages: dev: true /obuf@1.1.2: - resolution: - { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /oclif@4.8.8: - resolution: - { integrity: sha512-EZszrIY/rSa1fo0fq11rFAU7QvBX8FqAxyYIFTb19adSvxUwK8NKVn0b+lPlchibcpFHwde7ENFYSyJ1G+cWXg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-EZszrIY/rSa1fo0fq11rFAU7QvBX8FqAxyYIFTb19adSvxUwK8NKVn0b+lPlchibcpFHwde7ENFYSyJ1G+cWXg==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 @@ -13312,39 +11958,33 @@ packages: dev: true /octal@1.0.0: - resolution: - { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } + resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} dev: true /omit.js@2.0.2: - resolution: - { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} dev: false /once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: - { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: - { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -13353,21 +11993,18 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: - { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: - { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} + engines: {node: '>=0.10'} dev: false /optimism@0.17.5: - resolution: - { integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== } + resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} dependencies: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 @@ -13375,9 +12012,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -13388,231 +12024,199 @@ packages: dev: true /os-name@5.1.0: - resolution: - { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: - { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /outdent@0.5.0: - resolution: - { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true /outvariant@1.4.2: - resolution: - { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} dev: true /p-cancelable@3.0.0: - resolution: - { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} /p-event@4.2.0: - resolution: - { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: - { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: - { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: - { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: - { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} dev: false /p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: - { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: - { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} /p-map@5.5.0: - resolution: - { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 dev: false /p-queue@8.0.1: - resolution: - { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: - { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} dev: false /p-retry@5.1.2: - resolution: - { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} dependencies: p-finally: 1.0.0 dev: false /p-timeout@5.1.0: - resolution: - { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} dev: false /p-timeout@6.1.2: - resolution: - { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} dev: false /p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /p-wait-for@4.1.0: - resolution: - { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} + engines: {node: '>=12'} dependencies: p-timeout: 5.1.0 dev: false /papaparse@5.4.1: - resolution: - { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} dev: false /param-case@3.0.4: - resolution: - { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 /parse-asn1@5.1.6: - resolution: - { integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== } + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -13622,8 +12226,7 @@ packages: dev: true /parse-entities@2.0.0: - resolution: - { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13634,18 +12237,16 @@ packages: dev: true /parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -13653,144 +12254,120 @@ packages: lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: - { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: false /parse-ms@3.0.0: - resolution: - { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} dev: true /parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /pascal-case@3.1.2: - resolution: - { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: - { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: - { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} dev: true /path-browserify@1.0.1: - resolution: - { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-case@3.0.4: - resolution: - { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} /path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} /path-key@4.0.0: - resolution: - { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} /path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: - resolution: - { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.0 minipass: 7.0.3 dev: true /path-to-regexp@6.2.1: - resolution: - { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true /path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} /path-type@5.0.0: - resolution: - { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} /pathe@1.1.1: - resolution: - { integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /pathval@1.1.1: - resolution: - { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13800,32 +12377,27 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: - { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: true optional: true /pg-connection-string@2.6.4: - resolution: - { integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== } + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} dev: true /pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} dev: true /pg-numeric@1.0.2: - resolution: - { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} dev: true /pg-pool@3.6.2(pg@8.11.5): - resolution: - { integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== } + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: @@ -13833,14 +12405,12 @@ packages: dev: true /pg-protocol@1.6.1: - resolution: - { integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== } + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} dev: true /pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13850,9 +12420,8 @@ packages: dev: true /pg-types@4.0.2: - resolution: - { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13864,9 +12433,8 @@ packages: dev: true /pg@8.11.5: - resolution: - { integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13883,59 +12451,50 @@ packages: dev: true /pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: - { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} /pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: - { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 @@ -13943,15 +12502,13 @@ packages: dev: true /pluralize@8.0.0: - resolution: - { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: - { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -13962,75 +12519,64 @@ packages: dev: false /postcss@8.4.38: - resolution: - { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} dev: true /postgres-array@3.0.2: - resolution: - { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} dev: true /postgres-bytea@1.0.0: - resolution: - { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} dev: true /postgres-bytea@3.0.0: - resolution: - { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} dev: true /postgres-date@2.1.0: - resolution: - { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} dev: true /postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: - { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} dev: true /postgres-range@1.1.4: - resolution: - { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: - { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -14050,9 +12596,8 @@ packages: dev: false /preferred-pm@3.1.2: - resolution: - { integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -14061,28 +12606,24 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier@2.8.8: - resolution: - { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true /prettier@3.2.5: - resolution: - { integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true /pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -14090,9 +12631,8 @@ packages: dev: false /pretty-format@29.7.0: - resolution: - { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -14100,60 +12640,51 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: - { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} dependencies: parse-ms: 3.0.0 dev: false /proc-log@4.0.0: - resolution: - { integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /process-es6@0.11.6: - resolution: - { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} dev: true /process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process@0.10.1: - resolution: - { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} + engines: {node: '>= 0.6.0'} dev: false /process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} dev: false /prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14161,9 +12692,8 @@ packages: dev: true /protobufjs@7.2.5: - resolution: - { integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -14180,34 +12710,28 @@ packages: long: 5.2.3 /proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false /prr@0.0.0: - resolution: - { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } + resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} dev: true /prr@1.0.1: - resolution: - { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true /ps-list@8.1.1: - resolution: - { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /pseudomap@1.0.2: - resolution: - { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /public-encrypt@4.0.3: - resolution: - { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -14218,74 +12742,62 @@ packages: dev: true /pump@3.0.0: - resolution: - { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode@2.3.0: - resolution: - { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} /qs@6.11.2: - resolution: - { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} /queue-tick@1.0.1: - resolution: - { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false /quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} dev: true /quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} /quote-unquote@1.0.0: - resolution: - { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: false /rambda@7.5.0: - resolution: - { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} dev: true /randombytes@2.1.0: - resolution: - { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: - { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /react-devtools-core@4.28.0: - resolution: - { integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== } + resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -14295,24 +12807,20 @@ packages: dev: true /react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false /react-is@18.2.0: - resolution: - { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: - { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^17.0.2 dependencies: @@ -14323,18 +12831,16 @@ packages: dev: true /react@17.0.2: - resolution: - { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -14342,9 +12848,8 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: - { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -14352,9 +12857,8 @@ packages: dev: false /read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -14362,9 +12866,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 @@ -14373,9 +12876,8 @@ packages: dev: true /read-pkg@7.1.0: - resolution: - { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 @@ -14384,9 +12886,8 @@ packages: dev: false /read-yaml-file@1.1.0: - resolution: - { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -14395,8 +12896,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14405,8 +12905,7 @@ packages: dev: true /readable-stream@1.1.14: - resolution: - { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14415,8 +12914,7 @@ packages: dev: true /readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14427,90 +12925,77 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 /readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: false /readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: - { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.6 dev: true /redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: - { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: - { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} dev: true /regenerate-unicode-properties@10.1.1: - resolution: - { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.14.0: - resolution: - { integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== } + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /regenerator-transform@0.15.2: - resolution: - { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.1 dev: true /regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true /regexp.prototype.flags@1.5.1: - resolution: - { integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14518,15 +13003,13 @@ packages: dev: true /regexpp@3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: true /regexpu-core@5.3.2: - resolution: - { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14537,25 +13020,22 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: - { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /relaxed-json@1.0.3: - resolution: - { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} + engines: {node: '>= 0.10.0'} hasBin: true dependencies: chalk: 2.4.2 @@ -14563,8 +13043,7 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: - { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14573,16 +13052,14 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: - { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: - { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14591,8 +13068,7 @@ packages: dev: true /remark-parse@9.0.0: - resolution: - { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14600,31 +13076,26 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: - { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: false /repeat-string@1.6.1: - resolution: - { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true /require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} /require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: - { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14634,9 +13105,8 @@ packages: dev: false /require-in-the-middle@7.2.0: - resolution: - { integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14646,36 +13116,29 @@ packages: dev: true /require-main-filename@2.0.0: - resolution: - { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /require-package-name@2.0.1: - resolution: - { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false /resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} /resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} /resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} /resolve-pkg-maps@1.0.0: - resolution: - { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} /resolve@1.22.6: - resolution: - { integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== } + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14683,8 +13146,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.4: - resolution: - { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14693,79 +13155,68 @@ packages: dev: false /response-iterator@0.2.6: - resolution: - { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} dev: true /responselike@3.0.0: - resolution: - { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} /reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} /rfdc@1.3.0: - resolution: - { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: false /rimraf@5.0.5: - resolution: - { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true dependencies: glob: 10.3.8 dev: true /ripemd160@2.0.2: - resolution: - { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.16.4): - resolution: - { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} + engines: {node: '>=6'} peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14777,9 +13228,8 @@ packages: dev: true /rollup-plugin-dts@6.1.0(rollup@4.16.4)(typescript@5.4.5): - resolution: - { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 @@ -14792,9 +13242,8 @@ packages: dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.16.4): - resolution: - { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -14810,8 +13259,7 @@ packages: dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: - { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } + resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14820,8 +13268,7 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: - { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14832,38 +13279,33 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: - { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: - { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } + resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: - { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } + resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: - { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true /rollup@4.16.4: - resolution: - { integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14888,28 +13330,24 @@ packages: dev: true /run-applescript@7.0.0: - resolution: - { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} dev: false /run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: - { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.0.1: - resolution: - { integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14918,21 +13356,17 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} /safe-json-stringify@1.2.0: - resolution: - { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} dev: false /safe-regex-test@1.0.0: - resolution: - { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14940,60 +13374,51 @@ packages: dev: true /safe-resolve@1.0.0: - resolution: - { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } + resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} dev: true /safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /scheduler@0.20.2: - resolution: - { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /semver@2.3.2: - resolution: - { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } + resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} hasBin: true dev: true /semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true /semver@7.5.4: - resolution: - { integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.6.0: - resolution: - { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: - { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -15001,13 +13426,11 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-name@2.0.1: - resolution: - { integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 functions-have-names: 1.2.3 @@ -15015,8 +13438,7 @@ packages: dev: true /sha.js@2.4.11: - resolution: - { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -15024,40 +13446,34 @@ packages: dev: true /shebang-command@1.2.0: - resolution: - { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: - { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} /shell-quote@1.8.1: - resolution: - { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -15066,45 +13482,38 @@ packages: dev: true /shimmer@1.2.1: - resolution: - { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} /should-equal@2.0.0: - resolution: - { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: - { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: - { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: - { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} dev: true /should-util@1.0.1: - resolution: - { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} dev: true /should@13.2.3: - resolution: - { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -15114,9 +13523,8 @@ packages: dev: true /shx@0.3.4: - resolution: - { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} hasBin: true dependencies: minimist: 1.2.8 @@ -15124,48 +13532,40 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 /siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true /signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signal-exit@4.0.2: - resolution: - { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} dev: false /signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} /simple-swizzle@0.2.2: - resolution: - { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false /size-limit@11.1.2: - resolution: - { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 @@ -15178,25 +13578,21 @@ packages: dev: true /slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} /slash@4.0.0: - resolution: - { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} /slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: - resolution: - { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15204,36 +13600,32 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: - { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: - { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true /smartwrap@2.0.2: - resolution: - { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -15245,21 +13637,18 @@ packages: dev: true /snake-case@3.0.4: - resolution: - { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /sort-object-keys@1.1.3: - resolution: - { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.10.0: - resolution: - { integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g== } + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -15273,158 +13662,133 @@ packages: dev: true /source-map-js@1.2.0: - resolution: - { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} /source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: - { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: - { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.15 /spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.15 /spdx-license-ids@3.0.15: - resolution: - { integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== } + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} /split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} dev: true /sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} /stack-generator@2.0.10: - resolution: - { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: - resolution: - { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false /statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.6.0: - resolution: - { integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== } + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true /stream-transform@2.1.3: - resolution: - { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true /streamx@2.15.1: - resolution: - { integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== } + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false /strict-event-emitter@0.5.1: - resolution: - { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} dev: true /string-range@1.2.2: - resolution: - { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } + resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} dev: true /string-template@0.2.1: - resolution: - { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: false /string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 /string-width@7.0.0: - resolution: - { integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -15432,9 +13796,8 @@ packages: dev: true /string.prototype.trim@1.2.8: - resolution: - { integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15442,8 +13805,7 @@ packages: dev: true /string.prototype.trimend@1.0.7: - resolution: - { integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== } + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15451,8 +13813,7 @@ packages: dev: true /string.prototype.trimstart@1.0.7: - resolution: - { integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== } + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15460,121 +13821,102 @@ packages: dev: true /string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true /string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 /strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false /strip-final-newline@3.0.0: - resolution: - { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} /strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@2.0.0: - resolution: - { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: - { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: - { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} /supports-hyperlinks@2.3.0: - resolution: - { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swagger2openapi@7.0.8: - resolution: - { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15593,21 +13935,18 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: - { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} dev: true /tapable@2.2.1: - resolution: - { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15617,8 +13956,7 @@ packages: dev: false /tar-stream@3.1.6: - resolution: - { integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== } + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 @@ -15626,9 +13964,8 @@ packages: dev: false /tar@6.2.0: - resolution: - { integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15639,43 +13976,37 @@ packages: dev: false /term-size@2.2.1: - resolution: - { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} dev: true /terminal-link@3.0.0: - resolution: - { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: - { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} /thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: - { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: bufrw: 1.3.0 @@ -15684,97 +14015,81 @@ packages: dev: false /time-span@4.0.0: - resolution: - { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: false /tinybench@2.5.1: - resolution: - { integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== } + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.8.4: - resolution: - { integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} dev: true /tinyspy@2.2.0: - resolution: - { integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} dev: true /tmp-promise@3.0.3: - resolution: - { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: - { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: - { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} dev: false /to-fast-properties@2.0.0: - resolution: - { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} /to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: - { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false /tomlify-j0.4@3.0.0: - resolution: - { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } + resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} dev: false /tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /traverse@0.6.7: - resolution: - { integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== } + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true /trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} dev: true /trough@1.0.5: - resolution: - { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: - { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -15782,23 +14097,20 @@ packages: dev: true /ts-invariant@0.10.3: - resolution: - { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: - { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15828,8 +14140,7 @@ packages: yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15838,17 +14149,14 @@ packages: dev: true /tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} /tslib@2.6.2: - resolution: - { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.8.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15857,9 +14165,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15868,9 +14175,8 @@ packages: dev: false /tsx@4.7.2: - resolution: - { integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.11 @@ -15880,9 +14186,8 @@ packages: dev: true /tty-table@4.2.1: - resolution: - { integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -15895,15 +14200,13 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /turbo-darwin-64@1.13.2: - resolution: - { integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA== } + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -15911,8 +14214,7 @@ packages: optional: true /turbo-darwin-arm64@1.13.2: - resolution: - { integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw== } + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -15920,8 +14222,7 @@ packages: optional: true /turbo-linux-64@1.13.2: - resolution: - { integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ== } + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -15929,8 +14230,7 @@ packages: optional: true /turbo-linux-arm64@1.13.2: - resolution: - { integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg== } + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} cpu: [arm64] os: [linux] requiresBuild: true @@ -15938,8 +14238,7 @@ packages: optional: true /turbo-windows-64@1.13.2: - resolution: - { integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA== } + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} cpu: [x64] os: [win32] requiresBuild: true @@ -15947,8 +14246,7 @@ packages: optional: true /turbo-windows-arm64@1.13.2: - resolution: - { integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA== } + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -15956,8 +14254,7 @@ packages: optional: true /turbo@1.13.2: - resolution: - { integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ== } + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} hasBin: true optionalDependencies: turbo-darwin-64: 1.13.2 @@ -15969,86 +14266,72 @@ packages: dev: true /typanion@3.14.0: - resolution: - { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} dev: true /type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-fest@1.4.0: - resolution: - { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: false /type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: false /type-fest@3.13.1: - resolution: - { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /type-fest@4.9.0: - resolution: - { integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} + engines: {node: '>=16'} dev: true /typed-array-buffer@1.0.0: - resolution: - { integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16056,9 +14339,8 @@ packages: dev: true /typed-array-byte-length@1.0.0: - resolution: - { integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16067,9 +14349,8 @@ packages: dev: true /typed-array-byte-offset@1.0.0: - resolution: - { integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16079,8 +14360,7 @@ packages: dev: true /typed-array-length@1.0.4: - resolution: - { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16088,19 +14368,16 @@ packages: dev: true /typedarray-to-buffer@1.0.4: - resolution: - { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } + resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true /typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript-eslint@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -16118,33 +14395,28 @@ packages: dev: true /typescript@4.8.2: - resolution: - { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + engines: {node: '>=4.2.0'} hasBin: true dev: true /typescript@5.2.2: - resolution: - { integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: false /typescript@5.4.5: - resolution: - { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.0: - resolution: - { integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /unbox-primitive@1.0.2: - resolution: - { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -16153,50 +14425,42 @@ packages: dev: true /underscore@1.13.6: - resolution: - { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true /undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: - { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} dev: true /unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} dev: true /unified@9.2.2: - resolution: - { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: '@types/unist': 2.0.8 bail: 1.0.5 @@ -16208,41 +14472,35 @@ packages: dev: true /unist-util-is@4.1.0: - resolution: - { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} dev: true /unist-util-stringify-position@2.0.3: - resolution: - { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.8 dev: true /unist-util-visit-parents@3.1.1: - resolution: - { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: true /universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-dgram@2.0.6: - resolution: - { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } - engines: { node: '>=0.10.48' } + resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} + engines: {node: '>=0.10.48'} requiresBuild: true dependencies: bindings: 1.5.0 @@ -16251,16 +14509,14 @@ packages: optional: true /unixify@1.0.0: - resolution: - { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: false /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16270,87 +14526,73 @@ packages: picocolors: 1.0.0 /update-section@0.3.3: - resolution: - { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} dev: true /upper-case-first@2.0.2: - resolution: - { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 /urlpattern-polyfill@8.0.2: - resolution: - { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false /util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: false /uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true /v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validate-npm-package-name@4.0.0: - resolution: - { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: - { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: - { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: - { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: '@types/unist': 2.0.8 is-buffer: 2.0.5 @@ -16359,9 +14601,8 @@ packages: dev: true /vite-node@1.5.0(@types/node@20.12.7): - resolution: - { integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 @@ -16381,9 +14622,8 @@ packages: dev: true /vite@5.2.10(@types/node@20.12.7): - resolution: - { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -16418,9 +14658,8 @@ packages: dev: true /vitest@1.5.0(@types/node@20.12.7): - resolution: - { integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16475,37 +14714,31 @@ packages: dev: true /vlq@0.2.3: - resolution: - { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true /wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.2.1: - resolution: - { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16515,23 +14748,20 @@ packages: dev: true /which-module@2.0.1: - resolution: - { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-pm@2.0.0: - resolution: - { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } - engines: { node: '>=8.15' } + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true /which-typed-array@1.1.11: - resolution: - { integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16541,34 +14771,30 @@ packages: dev: true /which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 /which@4.0.0: - resolution: - { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: - { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} hasBin: true dependencies: siginfo: 2.0.0 @@ -16576,53 +14802,46 @@ packages: dev: true /wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 dev: false /widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: - { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} /wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16630,9 +14849,8 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 @@ -16640,13 +14858,11 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /ws@7.5.9: - resolution: - { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16658,103 +14874,86 @@ packages: dev: true /xorshift@1.2.0: - resolution: - { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } + resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} dev: false /xtend@2.0.6: - resolution: - { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} + engines: {node: '>=0.4'} dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: - { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} + engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: - { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} dev: true /xtend@3.0.0: - resolution: - { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} + engines: {node: '>=0.4'} dev: true /xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /y18n@4.0.3: - resolution: - { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} /yallist@2.1.2: - resolution: - { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.3.4: - resolution: - { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} /yargs@15.4.1: - resolution: - { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16770,9 +14969,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -16784,9 +14982,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -16797,53 +14994,45 @@ packages: yargs-parser: 21.1.1 /yarn@1.22.22: - resolution: - { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true dev: false /yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} /yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} /yoga-layout-prebuilt@1.10.0: - resolution: - { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: - { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: - { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: true /zip-stream@4.1.1: - resolution: - { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -16851,9 +15040,8 @@ packages: dev: false /zip-stream@5.0.1: - resolution: - { integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 @@ -16861,8 +15049,7 @@ packages: dev: false /zod-to-json-schema@3.23.0(zod@3.23.4): - resolution: - { integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag== } + resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} peerDependencies: zod: ^3.23.3 dependencies: @@ -16870,10 +15057,8 @@ packages: dev: false /zod@3.23.4: - resolution: - { integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw== } + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} /zwitch@1.0.5: - resolution: - { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From a65b45cf2914b49fedeaab091863aaec9e8e1f58 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 116/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From 9beb3102b4ba9b2f9a639d105f664ed54c8c8db9 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 117/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From e37df400e95f08c9b91a91a27ce3d38158b5fe0a Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 118/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 97a7f7910b7f6ebacbe4e39cdd12702376d419f5 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 119/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 99b1ce41f6d922ec8a93f65e594b0320bb501c12 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 120/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From 4d9958ec78f0269bba5ad9ef9e7494f696b80c26 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 121/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From 164c0f2813e12cd44193d0267a2f192182ebb0b0 Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 122/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 0000d8d2a54214cb06ca6ad2c485d6c2a775dcc6 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 123/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From c591169ca0fe37f0ba1c7e7d61bf2e3459c4e4ff Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 124/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From 9299b8fd1ea665cef1d585c1fdfd6f7c59148749 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 125/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From 04882f506fc4270307e3ac118f5602f895fbd385 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 126/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 - packages/client/src/schema/cache.ts | 53 - packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 - packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 - packages/plugin-client-cache/package.json | 33 - .../plugin-client-cache/rollup.config.mjs | 29 - packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 - packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 - .../plugin-client-cloudflare/package.json | 28 - .../rollup.config.mjs | 29 - .../plugin-client-cloudflare/src/cache.ts | 88 - .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 - pnpm-lock.yaml | 7601 +++++++---------- test/integration/cache.test.ts | 113 - test/utils/setup.ts | 7 +- 27 files changed, 2893 insertions(+), 6029 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index 72cf9bfc4..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.2" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 3b4b3b8ae..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240423.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58b7998e5..2fbfc97d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@babel/core': @@ -390,25 +391,6 @@ importers: specifier: ^4.7.3 version: 4.7.3 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.2 - version: 10.2.2 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240423.0 - version: 4.20240423.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -467,23 +449,21 @@ importers: version: link:../client packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: - resolution: - { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: - { integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg== } + resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -518,8 +498,7 @@ packages: dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -527,8 +506,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -536,15 +514,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -556,8 +532,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -570,8 +545,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -579,15 +553,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -595,9 +567,8 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: - { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -647,9 +618,8 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: - { integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -713,9 +683,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -764,9 +733,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -815,9 +783,8 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: - { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -862,9 +829,8 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: - { integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -909,9 +875,8 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -959,9 +924,8 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -1009,9 +973,8 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: - { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1023,9 +986,8 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: - { integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1037,9 +999,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1048,9 +1009,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: - { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1064,9 +1024,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: - { integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1080,9 +1039,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1101,9 +1059,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1122,9 +1079,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: - { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -1143,9 +1099,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: - { integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -1164,9 +1119,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1176,9 +1130,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -1193,9 +1146,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -1210,9 +1162,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1225,9 +1176,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1240,9 +1190,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1254,9 +1203,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1265,9 +1213,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -1280,9 +1227,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1291,9 +1237,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1301,9 +1246,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1311,9 +1255,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1322,9 +1265,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: - { integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1338,9 +1280,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: - { integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1352,9 +1293,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: - { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1362,9 +1302,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: - { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1374,9 +1313,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: - { integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -1386,9 +1324,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1399,9 +1336,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: - { integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -1412,9 +1348,8 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1428,9 +1363,8 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1444,26 +1378,23 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: - { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1472,9 +1403,8 @@ packages: dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: - { integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1483,16 +1413,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.465.0: - resolution: - { integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1501,9 +1429,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: - { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1517,44 +1444,38 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: - { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 /@babel/compat-data@7.24.1: - resolution: - { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} /@babel/compat-data@7.24.4: - resolution: - { integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.24.4: - resolution: - { integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.24.2 @@ -1575,9 +1496,8 @@ packages: - supports-color /@babel/generator@7.24.4: - resolution: - { integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -1585,25 +1505,22 @@ packages: jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: - { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 @@ -1612,9 +1529,8 @@ packages: semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1631,9 +1547,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1650,9 +1565,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): - resolution: - { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1663,8 +1577,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1679,44 +1592,38 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.23.0: - resolution: - { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: - { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: - { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1728,23 +1635,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): - resolution: - { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1755,9 +1659,8 @@ packages: dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1768,46 +1671,39 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: - resolution: - { integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: - { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.23.5: - resolution: - { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.20: - resolution: - { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 @@ -1815,9 +1711,8 @@ packages: dev: true /@babel/helpers@7.24.4: - resolution: - { integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -1826,9 +1721,8 @@ packages: - supports-color /@babel/highlight@7.24.2: - resolution: - { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -1836,34 +1730,30 @@ packages: picocolors: 1.0.0 /@babel/parser@7.23.3: - resolution: - { integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/parser@7.24.1: - resolution: - { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/parser@7.24.4: - resolution: - { integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1873,9 +1763,8 @@ packages: dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1884,9 +1773,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1897,9 +1785,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1909,9 +1796,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): - resolution: - { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1919,8 +1805,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1929,8 +1814,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1939,9 +1823,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1950,8 +1833,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1960,8 +1842,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1970,9 +1851,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,9 +1861,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1992,8 +1871,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2002,8 +1880,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2012,9 +1889,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2023,8 +1899,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2033,8 +1908,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2043,8 +1917,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2053,8 +1926,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2063,8 +1935,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2073,8 +1944,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2083,9 +1953,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2094,9 +1963,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2105,9 +1973,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2116,9 +1983,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): - resolution: - { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2128,9 +1994,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2139,9 +2004,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2153,9 +2017,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2166,9 +2029,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2177,9 +2039,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2188,9 +2049,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2200,9 +2060,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2213,9 +2072,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2231,9 +2089,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2243,9 +2100,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2254,9 +2110,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2266,9 +2121,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2277,9 +2131,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2289,9 +2142,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2301,9 +2153,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2313,9 +2164,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2325,9 +2175,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2338,9 +2187,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2350,9 +2198,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2361,9 +2208,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2373,9 +2219,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2384,9 +2229,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2396,9 +2240,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2409,9 +2252,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2423,9 +2265,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2435,9 +2276,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2447,9 +2287,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2458,9 +2297,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2470,9 +2308,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2482,9 +2319,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2496,9 +2332,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2508,9 +2343,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2520,9 +2354,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2533,9 +2366,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2544,9 +2376,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2556,9 +2387,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2570,9 +2400,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2581,9 +2410,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2593,9 +2421,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2604,9 +2431,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2615,9 +2441,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2627,9 +2452,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2638,9 +2462,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2649,9 +2472,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2660,9 +2482,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2674,9 +2495,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2685,9 +2505,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2697,9 +2516,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2709,9 +2527,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2721,9 +2538,8 @@ packages: dev: true /@babel/preset-env@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2814,8 +2630,7 @@ packages: dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): - resolution: - { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: @@ -2826,9 +2641,8 @@ packages: dev: true /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2841,31 +2655,27 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.23.1: - resolution: - { integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 dev: true /@babel/template@7.24.0: - resolution: - { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: - resolution: - { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -2881,24 +2691,21 @@ packages: - supports-color /@babel/types@7.24.0: - resolution: - { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@bugsnag/browser@7.21.0: - resolution: - { integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA== } + resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: - { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } + resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2908,21 +2715,18 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: - { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } + resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} dev: false /@bugsnag/js@7.21.0: - resolution: - { integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg== } + resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} dependencies: '@bugsnag/browser': 7.21.0 '@bugsnag/node': 7.19.0 dev: false /@bugsnag/node@7.19.0: - resolution: - { integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w== } + resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2933,27 +2737,23 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: - { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: - { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: - { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: - { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.23.1 '@changesets/config': 3.0.0 @@ -2971,8 +2771,7 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: - { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2983,15 +2782,13 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: - { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: - { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -3001,8 +2798,7 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: - { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.23.1 @@ -3040,8 +2836,7 @@ packages: dev: true /@changesets/config@3.0.0: - resolution: - { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -3053,15 +2848,13 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: - { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: - { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -3071,8 +2864,7 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: - { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -3081,8 +2873,7 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: - { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/assemble-release-plan': 6.0.0 @@ -3094,13 +2885,11 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: - { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true /@changesets/git@3.0.0: - resolution: - { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3112,23 +2901,20 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: - { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: - { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: - { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3138,8 +2924,7 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: - { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/git': 3.0.0 @@ -3152,18 +2937,15 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: - { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true /@changesets/types@6.0.0: - resolution: - { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true /@changesets/write@0.3.0: - resolution: - { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 6.0.0 @@ -3172,57 +2954,45 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240423.0: - resolution: - { integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw== } - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: - { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: - { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } - engines: { node: '>=16' } + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: - { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} dev: false /@edge-runtime/primitives@4.1.0: - resolution: - { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} dev: false /@edge-runtime/vm@3.2.0: - resolution: - { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: - { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3230,9 +3000,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3240,9 +3009,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: - { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3250,9 +3018,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.2: - resolution: - { integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3260,9 +3027,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3270,9 +3036,8 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: - { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3280,9 +3045,8 @@ packages: optional: true /@esbuild/android-arm@0.19.2: - resolution: - { integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3290,9 +3054,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3300,9 +3063,8 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: - { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3310,9 +3072,8 @@ packages: optional: true /@esbuild/android-x64@0.19.2: - resolution: - { integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3320,9 +3081,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3330,9 +3090,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: - { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3340,9 +3099,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.2: - resolution: - { integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3350,9 +3108,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3360,9 +3117,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: - { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3370,9 +3126,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.2: - resolution: - { integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3380,9 +3135,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3390,9 +3144,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: - { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3400,9 +3153,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.2: - resolution: - { integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3410,9 +3162,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3420,9 +3171,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: - { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3430,9 +3180,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.2: - resolution: - { integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3440,9 +3189,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3450,9 +3198,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: - { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3460,9 +3207,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.2: - resolution: - { integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3470,9 +3216,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3480,9 +3225,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: - { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3490,9 +3234,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.2: - resolution: - { integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3500,9 +3243,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3510,9 +3252,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: - { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3520,9 +3261,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.2: - resolution: - { integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3530,9 +3270,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3540,9 +3279,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: - { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3550,9 +3288,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.2: - resolution: - { integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3560,9 +3297,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3570,9 +3306,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: - { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3580,9 +3315,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.2: - resolution: - { integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3590,9 +3324,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3600,9 +3333,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: - { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3610,9 +3342,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.2: - resolution: - { integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3620,9 +3351,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3630,9 +3360,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: - { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3640,9 +3369,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.2: - resolution: - { integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3650,9 +3378,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3660,9 +3387,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: - { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3670,9 +3396,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.2: - resolution: - { integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3680,9 +3405,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3690,9 +3414,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: - { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3700,9 +3423,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.2: - resolution: - { integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3710,9 +3432,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3720,9 +3441,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: - { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3730,9 +3450,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.2: - resolution: - { integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3740,9 +3459,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3750,9 +3468,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: - { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3760,9 +3477,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.2: - resolution: - { integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3770,9 +3486,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3780,9 +3495,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: - { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3790,9 +3504,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.2: - resolution: - { integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3800,9 +3513,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3810,9 +3522,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: - { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3820,9 +3531,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.2: - resolution: - { integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3830,9 +3540,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3840,9 +3549,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: - { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3850,9 +3558,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.2: - resolution: - { integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3860,9 +3567,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3870,9 +3576,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: - { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3880,9 +3585,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.2: - resolution: - { integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3890,9 +3594,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3900,9 +3603,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): - resolution: - { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3911,15 +3613,13 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: - { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@3.0.2: - resolution: - { integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -3935,25 +3635,21 @@ packages: dev: true /@eslint/js@9.1.1: - resolution: - { integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /@exodus/schemasafe@1.3.0: - resolution: - { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true /@faker-js/faker@8.4.1: - resolution: - { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: - { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3961,17 +3657,15 @@ packages: dev: true /@grpc/grpc-js@1.9.3: - resolution: - { integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA== } - engines: { node: ^8.13.0 || >=10.10.0 } + resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} + engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.10 '@types/node': 20.12.7 /@grpc/proto-loader@0.7.10: - resolution: - { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} hasBin: true dependencies: lodash.camelcase: 4.3.0 @@ -3980,9 +3674,8 @@ packages: yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: - { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} + engines: {node: '>=14'} dependencies: '@grpc/grpc-js': 1.9.3 '@opentelemetry/api': 1.8.0 @@ -4001,9 +3694,8 @@ packages: dev: false /@humanwhocodes/config-array@0.13.0: - resolution: - { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@9.4.0) @@ -4013,63 +3705,54 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/momoa@2.0.4: - resolution: - { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} dev: false /@humanwhocodes/object-schema@2.0.3: - resolution: - { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@humanwhocodes/retry@0.2.3: - resolution: - { integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g== } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} dev: true /@import-maps/resolve@1.0.1: - resolution: - { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } + resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: false /@inquirer/confirm@3.1.4: - resolution: - { integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.5: - resolution: - { integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.1 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.6: - resolution: - { integrity: sha512-Mj4TU29g6Uy+37UtpA8UpEOI2icBfpCwSW1QDtfx60wRhUy90s/kHPif2OXSSvuwDQT1lhAYRWUfkNf9Tecxvg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Mj4TU29g6Uy+37UtpA8UpEOI2icBfpCwSW1QDtfx60wRhUy90s/kHPif2OXSSvuwDQT1lhAYRWUfkNf9Tecxvg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.1.0 '@inquirer/type': 1.3.1 /@inquirer/core@7.1.2: - resolution: - { integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw==} + engines: {node: '>=18'} dependencies: '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 @@ -4087,9 +3770,8 @@ packages: dev: true /@inquirer/core@8.0.0: - resolution: - { integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -4107,9 +3789,8 @@ packages: dev: true /@inquirer/core@8.0.1: - resolution: - { integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.0 @@ -4127,9 +3808,8 @@ packages: dev: true /@inquirer/core@8.1.0: - resolution: - { integrity: sha512-kfx0SU9nWgGe1f03ao/uXc85SFH1v2w3vQVH7QDGjKxdtJz+7vPitFtG++BTyJMYyYgH8MpXigutcXJeiQwVRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-kfx0SU9nWgGe1f03ao/uXc85SFH1v2w3vQVH7QDGjKxdtJz+7vPitFtG++BTyJMYyYgH8MpXigutcXJeiQwVRw==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.1 @@ -4146,29 +3826,25 @@ packages: wrap-ansi: 6.2.0 /@inquirer/figures@1.0.0: - resolution: - { integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} dev: true /@inquirer/figures@1.0.1: - resolution: - { integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + engines: {node: '>=18'} /@inquirer/input@2.1.1: - resolution: - { integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 dev: true /@inquirer/select@2.2.1: - resolution: - { integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 @@ -4178,20 +3854,17 @@ packages: dev: true /@inquirer/type@1.3.0: - resolution: - { integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} dev: true /@inquirer/type@1.3.1: - resolution: - { integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw==} + engines: {node: '>=18'} /@isaacs/cliui@8.0.2: - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -4202,17 +3875,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: - { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -4222,45 +3893,38 @@ packages: dev: false /@jridgewell/gen-mapping@0.3.5: - resolution: - { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/resolve-uri@3.1.1: - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.2.1: - resolution: - { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} /@jridgewell/trace-mapping@0.3.25: - resolution: - { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@manypkg/find-root@1.1.0: - resolution: - { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.23.1 '@types/node': 12.20.55 @@ -4269,8 +3933,7 @@ packages: dev: true /@manypkg/get-packages@1.1.3: - resolution: - { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 4.1.0 @@ -4281,8 +3944,7 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: - { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: detect-libc: 2.0.2 @@ -4300,15 +3962,13 @@ packages: dev: false /@mswjs/cookies@1.1.0: - resolution: - { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} + engines: {node: '>=18'} dev: true /@mswjs/interceptors@0.26.15: - resolution: - { integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ==} + engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4319,14 +3979,12 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: - { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } + resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: false /@netlify/build@29.20.6(@types/node@20.12.7): - resolution: - { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.21.0 @@ -4394,9 +4052,8 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: - { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -4409,9 +4066,8 @@ packages: dev: false /@netlify/config@20.9.0: - resolution: - { integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.3.0 @@ -4441,9 +4097,8 @@ packages: dev: false /@netlify/edge-bundler@8.18.0: - resolution: - { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -4470,9 +4125,8 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: - { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4480,9 +4134,8 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: - { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4490,9 +4143,8 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: - { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4500,9 +4152,8 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: - { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4510,9 +4161,8 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: - { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4520,9 +4170,8 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: - { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4530,9 +4179,8 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: - { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4540,9 +4188,8 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: - { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4550,9 +4197,8 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: - { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4560,9 +4206,8 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: - { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4570,9 +4215,8 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: - { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4580,9 +4224,8 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: - { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4590,9 +4233,8 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: - { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4600,9 +4242,8 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: - { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4610,9 +4251,8 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: - { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4620,9 +4260,8 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: - { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4630,9 +4269,8 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: - { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4640,9 +4278,8 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: - { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4650,9 +4287,8 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: - { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4660,9 +4296,8 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: - { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4670,9 +4305,8 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: - { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -4699,9 +4333,8 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: - { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -4716,9 +4349,8 @@ packages: dev: false /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: - { integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) cpy: 9.0.1 @@ -4729,9 +4361,8 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: - { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -4741,43 +4372,37 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: - { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} dev: false /@netlify/open-api@2.22.0: - resolution: - { integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow== } + resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} dev: false /@netlify/plugins-list@6.71.0: - resolution: - { integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} + engines: {node: ^14.14.0 || >=16.0.0} dev: false /@netlify/run-utils@5.1.1: - resolution: - { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: false /@netlify/serverless-functions-api@1.7.3: - resolution: - { integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: - { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4818,9 +4443,8 @@ packages: dev: false /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: - { integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4861,30 +4485,26 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} /@nodelib/fs.walk@1.2.8: - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 /@oclif/core@3.26.4: - resolution: - { integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w==} + engines: {node: '>=18.0.0'} dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4916,16 +4536,14 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.21: - resolution: - { integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 /@oclif/plugin-not-found@3.1.7: - resolution: - { integrity: sha512-fGR1gJE7X6BX3QHAtVX4Tg3T04mrnhtCIGzksQYYcelSftTS0nASnQ3uDacdGwbUPqaEq7HfUyh/G7WRIRxcrw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-fGR1gJE7X6BX3QHAtVX4Tg3T04mrnhtCIGzksQYYcelSftTS0nASnQ3uDacdGwbUPqaEq7HfUyh/G7WRIRxcrw==} + engines: {node: '>=18.0.0'} dependencies: '@inquirer/confirm': 3.1.6 '@oclif/core': 3.26.4 @@ -4933,9 +4551,8 @@ packages: fast-levenshtein: 3.0.0 /@oclif/plugin-plugins@5.0.16: - resolution: - { integrity: sha512-4fYOQQ9kfi56r+gooRJai47/YNZFco46Hydzdg+1W9BZ78TyzqnQf1OC6vYelUudemUH0xlzBYcIzLcwUf3uPA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-4fYOQQ9kfi56r+gooRJai47/YNZFco46Hydzdg+1W9BZ78TyzqnQf1OC6vYelUudemUH0xlzBYcIzLcwUf3uPA==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4952,9 +4569,8 @@ packages: dev: false /@oclif/plugin-warn-if-update-available@3.0.15: - resolution: - { integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4966,26 +4582,22 @@ packages: dev: true /@open-draft/deferred-promise@2.2.0: - resolution: - { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true /@open-draft/logger@0.3.0: - resolution: - { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: - { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@openapi-codegen/cli@2.0.1(react@17.0.2): - resolution: - { integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ== } + resolution: {integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ==} hasBin: true dependencies: '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) @@ -5021,8 +4633,7 @@ packages: dev: true /@openapi-codegen/typescript@8.0.1: - resolution: - { integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ== } + resolution: {integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ==} dependencies: case: 1.6.3 lodash: 4.17.21 @@ -5034,22 +4645,19 @@ packages: dev: true /@opentelemetry/api-logs@0.51.0: - resolution: - { integrity: sha512-m/jtfBPEIXS1asltl8fPQtO3Sb1qMpuL61unQajUmM8zIxeMF1AlqzWXM3QedcYgTTFiJCew5uJjyhpmqhc0+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-m/jtfBPEIXS1asltl8fPQtO3Sb1qMpuL61unQajUmM8zIxeMF1AlqzWXM3QedcYgTTFiJCew5uJjyhpmqhc0+g==} + engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: - { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5057,9 +4665,8 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-s7xaQ9ifDpJvwbWRLkZD/J5hY35w+MECm4TQUkg6szRcny9lf6oVhWij4w3JJFQgvHQMXU7oXOpX8Z05HxV/8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-s7xaQ9ifDpJvwbWRLkZD/J5hY35w+MECm4TQUkg6szRcny9lf6oVhWij4w3JJFQgvHQMXU7oXOpX8Z05HxV/8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5067,9 +4674,8 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5078,9 +4684,8 @@ packages: dev: false /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5089,9 +4694,8 @@ packages: dev: false /@opentelemetry/core@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-FP2oN7mVPqcdxJDTTnKExj4mi91EH+DNuArKfHTjPuJWe2K1JfMIVXNfahw1h3onJxQnxS8K0stKkogX05s+Aw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-FP2oN7mVPqcdxJDTTnKExj4mi91EH+DNuArKfHTjPuJWe2K1JfMIVXNfahw1h3onJxQnxS8K0stKkogX05s+Aw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5099,9 +4703,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5113,9 +4716,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5130,9 +4732,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5145,9 +4746,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5162,9 +4762,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5178,9 +4777,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-xQpxKzS8ZnxYCa1v+3EKWhwMrSK3+RezpJ+AEKaP2pf2QbLfHt7kKfSn7niR2u3A1Tbe2aC7Ptt9+MafhThOOQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-xQpxKzS8ZnxYCa1v+3EKWhwMrSK3+RezpJ+AEKaP2pf2QbLfHt7kKfSn7niR2u3A1Tbe2aC7Ptt9+MafhThOOQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5194,9 +4792,8 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } - engines: { node: '>=14' } + resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5209,9 +4806,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5225,9 +4821,8 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5239,9 +4834,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5254,9 +4848,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-Eg/+Od5bEvzpvZQGhvMyKIkrzB9S7jW+6z9LHEI2VXhl/GrqQ3oBqlzJt4tA6pGtxRmqQWKWGM1wAbwDdW/gUA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Eg/+Od5bEvzpvZQGhvMyKIkrzB9S7jW+6z9LHEI2VXhl/GrqQ3oBqlzJt4tA6pGtxRmqQWKWGM1wAbwDdW/gUA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5272,9 +4865,8 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5283,9 +4875,8 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-hR4c9vWVz1QgzCBSyy9zSDkvfTgaK96E6/tfVP6O4dzdZW9HqWimA3lXV/KXadEGqShvM4GToz9EHp2A5RU5bQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-hR4c9vWVz1QgzCBSyy9zSDkvfTgaK96E6/tfVP6O4dzdZW9HqWimA3lXV/KXadEGqShvM4GToz9EHp2A5RU5bQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5294,9 +4885,8 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5308,9 +4898,8 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-oTRtDvvB0bTRTBVrvKA/oM1gIAqQ6DVQS07pvqiL1cZS8wBrGgpw+2iTd0nV661Y/MhDn/kNWp8lRhMEIKN9bw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-oTRtDvvB0bTRTBVrvKA/oM1gIAqQ6DVQS07pvqiL1cZS8wBrGgpw+2iTd0nV661Y/MhDn/kNWp8lRhMEIKN9bw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5322,9 +4911,8 @@ packages: dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5335,9 +4923,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5349,9 +4936,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ylLgx2xumVoSefDHP9GMAU/LG+TU3+8eacVDXV5o1RqWxsdVOaQmCTY0XyDgeRTn6hIOVAq/HHQbRq3iWOrt2A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ylLgx2xumVoSefDHP9GMAU/LG+TU3+8eacVDXV5o1RqWxsdVOaQmCTY0XyDgeRTn6hIOVAq/HHQbRq3iWOrt2A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5365,9 +4951,8 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5376,9 +4961,8 @@ packages: dev: false /@opentelemetry/propagator-b3@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-7TMIDE4+NO5vnkor+zned42wqca+hmhW5gWKhmYjUHC5B5uojo1PvtmBrd7kigFu96XvL4ZUWVzibWRWIQ/++Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7TMIDE4+NO5vnkor+zned42wqca+hmhW5gWKhmYjUHC5B5uojo1PvtmBrd7kigFu96XvL4ZUWVzibWRWIQ/++Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5387,9 +4971,8 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5398,9 +4981,8 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-r3MX3AmJiUeiWTXSDOdwBeaO+ahvWcFCpuKxmhhsH8Q8LqDnjhNd3krqBh4Qsq9wa0WhWtiQaDs/NOCWoMOlOw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-r3MX3AmJiUeiWTXSDOdwBeaO+ahvWcFCpuKxmhhsH8Q8LqDnjhNd3krqBh4Qsq9wa0WhWtiQaDs/NOCWoMOlOw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5409,9 +4991,8 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5421,9 +5002,8 @@ packages: dev: false /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5433,9 +5013,8 @@ packages: dev: false /@opentelemetry/resources@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-mxC7E7ocUS1tLzepnA7O9/G8G6ZTdjCH2pXme1DDDuCuk6n2/53GADX+GWBuyX0dfIxeMInIbJAdjlfN9GNr6A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-mxC7E7ocUS1tLzepnA7O9/G8G6ZTdjCH2pXme1DDDuCuk6n2/53GADX+GWBuyX0dfIxeMInIbJAdjlfN9GNr6A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5444,9 +5023,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/sdk-logs@0.51.0(@opentelemetry/api-logs@0.51.0)(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-K4fMBRFD8hQ6khk0rvYFuo6L9ymeGgByir6BcuFIgQuQ00OhYwBi9AruZz5V733Ejq7P8ObR3YyubkOUIbeVAw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K4fMBRFD8hQ6khk0rvYFuo6L9ymeGgByir6BcuFIgQuQ00OhYwBi9AruZz5V733Ejq7P8ObR3YyubkOUIbeVAw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -5458,9 +5036,8 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5471,9 +5048,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.8.0' dependencies: @@ -5484,9 +5060,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-4tJ+E6N019OZVB/nUW/LoK9xHxfeh88TCoaTqHeLBE9wLYfi6irWW6J9cphMav7J8Qk0D5b7/RM4VEY4dArWOA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-4tJ+E6N019OZVB/nUW/LoK9xHxfeh88TCoaTqHeLBE9wLYfi6irWW6J9cphMav7J8Qk0D5b7/RM4VEY4dArWOA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5497,9 +5072,8 @@ packages: dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5521,9 +5095,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5534,9 +5107,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-H9sLETZ4jw9UJ3totV8oM5R0m4CW0ZIOLfp4NV3g0CM8HD5zGZcaW88xqzWDgiYRpctFxd+WmHtGX/Upoa2vRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-H9sLETZ4jw9UJ3totV8oM5R0m4CW0ZIOLfp4NV3g0CM8HD5zGZcaW88xqzWDgiYRpctFxd+WmHtGX/Upoa2vRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5546,9 +5118,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5562,9 +5133,8 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-QgByHmM9uloTpcYEEyW9YJEIMKHFSIM677RH9pJPWWwtM2NQFbEp/8HIJw80Ymtaz6cAxg1Kay1ByqIVzq3t5g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-QgByHmM9uloTpcYEEyW9YJEIMKHFSIM677RH9pJPWWwtM2NQFbEp/8HIJw80Ymtaz6cAxg1Kay1ByqIVzq3t5g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5578,86 +5148,70 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: - { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.18.1: - resolution: - { integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.24.0: - resolution: - { integrity: sha512-yL0jI6Ltuz8R+Opj7jClGrul6pOoYrdfVmzQS4SITXRPH7I5IRZbrwe/6/v8v4WYMa6MYZG480S1+uc/IGfqsA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yL0jI6Ltuz8R+Opj7jClGrul6pOoYrdfVmzQS4SITXRPH7I5IRZbrwe/6/v8v4WYMa6MYZG480S1+uc/IGfqsA==} + engines: {node: '>=14'} /@pkgjs/parseargs@0.11.0: - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} /@protobufjs/base64@1.1.2: - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} /@protobufjs/codegen@2.0.4: - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} /@protobufjs/eventemitter@1.1.0: - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} /@protobufjs/fetch@1.1.0: - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} /@protobufjs/inquire@1.1.0: - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} /@protobufjs/path@1.1.2: - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} /@protobufjs/pool@1.1.0: - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} /@protobufjs/utf8@1.1.0: - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} /@rollup/pluginutils@4.2.1: - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false /@rollup/pluginutils@5.0.5(rollup@4.17.1): - resolution: - { integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5671,8 +5225,7 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.17.1: - resolution: - { integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q== } + resolution: {integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q==} cpu: [arm] os: [android] requiresBuild: true @@ -5680,8 +5233,7 @@ packages: optional: true /@rollup/rollup-android-arm64@4.17.1: - resolution: - { integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ== } + resolution: {integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ==} cpu: [arm64] os: [android] requiresBuild: true @@ -5689,8 +5241,7 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.17.1: - resolution: - { integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA== } + resolution: {integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -5698,8 +5249,7 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.17.1: - resolution: - { integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw== } + resolution: {integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw==} cpu: [x64] os: [darwin] requiresBuild: true @@ -5707,8 +5257,7 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.17.1: - resolution: - { integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw== } + resolution: {integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw==} cpu: [arm] os: [linux] requiresBuild: true @@ -5716,8 +5265,7 @@ packages: optional: true /@rollup/rollup-linux-arm-musleabihf@4.17.1: - resolution: - { integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg== } + resolution: {integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg==} cpu: [arm] os: [linux] requiresBuild: true @@ -5725,8 +5273,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.17.1: - resolution: - { integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw== } + resolution: {integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5734,8 +5281,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.17.1: - resolution: - { integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ== } + resolution: {integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5743,8 +5289,7 @@ packages: optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.17.1: - resolution: - { integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw== } + resolution: {integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw==} cpu: [ppc64] os: [linux] requiresBuild: true @@ -5752,8 +5297,7 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.17.1: - resolution: - { integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ== } + resolution: {integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ==} cpu: [riscv64] os: [linux] requiresBuild: true @@ -5761,8 +5305,7 @@ packages: optional: true /@rollup/rollup-linux-s390x-gnu@4.17.1: - resolution: - { integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw== } + resolution: {integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw==} cpu: [s390x] os: [linux] requiresBuild: true @@ -5770,8 +5313,7 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.17.1: - resolution: - { integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ== } + resolution: {integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -5779,8 +5321,7 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.17.1: - resolution: - { integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ== } + resolution: {integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -5788,8 +5329,7 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.17.1: - resolution: - { integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg== } + resolution: {integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg==} cpu: [arm64] os: [win32] requiresBuild: true @@ -5797,8 +5337,7 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.17.1: - resolution: - { integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag== } + resolution: {integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag==} cpu: [ia32] os: [win32] requiresBuild: true @@ -5806,8 +5345,7 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.17.1: - resolution: - { integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA== } + resolution: {integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA==} cpu: [x64] os: [win32] requiresBuild: true @@ -5815,42 +5353,36 @@ packages: optional: true /@sinclair/typebox@0.27.8: - resolution: - { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@5.6.0: - resolution: - { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} /@sindresorhus/merge-streams@2.3.0: - resolution: - { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} dev: true /@sindresorhus/slugify@2.2.1: - resolution: - { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + engines: {node: '>=12'} dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: - { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /@size-limit/esbuild@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5860,9 +5392,8 @@ packages: dev: true /@size-limit/file@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5870,8 +5401,7 @@ packages: dev: true /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } + resolution: {integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ==} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5881,33 +5411,29 @@ packages: dev: true /@smithy/abort-controller@2.2.0: - resolution: - { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: - { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5917,9 +5443,8 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: - { integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -5932,9 +5457,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5944,8 +5468,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5954,9 +5477,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5964,18 +5486,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5983,9 +5503,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5993,8 +5512,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -6004,8 +5522,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -6014,9 +5531,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -6025,9 +5541,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6035,24 +5550,21 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6060,9 +5572,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -6070,9 +5581,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: - { integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -6084,9 +5594,8 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: - { integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -6100,27 +5609,24 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -6129,9 +5635,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -6141,27 +5646,24 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -6169,35 +5671,31 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: - { integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -6209,9 +5707,8 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: - { integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -6222,16 +5719,14 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: - { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: - { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -6239,9 +5734,8 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: - { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -6249,41 +5743,36 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: - { integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -6293,9 +5782,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: - { integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -6307,9 +5795,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6317,26 +5804,23 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -6344,9 +5828,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -6359,26 +5842,23 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -6386,9 +5866,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.89: - resolution: - { integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6396,9 +5875,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.89: - resolution: - { integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6406,9 +5884,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: - { integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6416,9 +5893,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.89: - resolution: - { integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6426,9 +5902,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.89: - resolution: - { integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6436,9 +5911,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.89: - resolution: - { integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6446,9 +5920,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.89: - resolution: - { integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6456,9 +5929,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.89: - resolution: - { integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6466,9 +5938,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.89: - resolution: - { integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -6476,9 +5947,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.89: - resolution: - { integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6486,9 +5956,8 @@ packages: optional: true /@swc/core@1.3.89: - resolution: - { integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -6512,30 +5981,25 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw== } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/types@0.1.5: - resolution: - { integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@5.0.1: - resolution: - { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: - { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: - { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -6551,8 +6015,7 @@ packages: dev: true /@ts-morph/common@0.23.0: - resolution: - { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} dependencies: fast-glob: 3.3.2 minimatch: 9.0.4 @@ -6560,24 +6023,19 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12@1.0.11: - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14@1.0.3: - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16@1.0.4: - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} /@types/babel__core@7.20.5: - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.24.0 @@ -6587,164 +6045,137 @@ packages: dev: true /@types/babel__generator@7.6.5: - resolution: - { integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== } + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.2: - resolution: - { integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== } + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.2: - resolution: - { integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== } + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/cli-progress@3.11.5: - resolution: - { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } + resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: '@types/node': 20.12.7 /@types/cookie@0.6.0: - resolution: - { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true /@types/estree@1.0.5: - resolution: - { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true /@types/http-cache-semantics@4.0.2: - resolution: - { integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== } + resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} /@types/ini@4.1.0: - resolution: - { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} dev: false /@types/istanbul-lib-coverage@2.0.4: - resolution: - { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false /@types/istanbul-lib-report@3.0.0: - resolution: - { integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false /@types/istanbul-reports@3.0.1: - resolution: - { integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false /@types/json-schema@7.0.15: - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.29: - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/lodash.chunk@4.2.9: - resolution: - { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } + resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.compact@3.0.9: - resolution: - { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } + resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.get@4.4.9: - resolution: - { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } + resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.pick@4.4.9: - resolution: - { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.set@4.3.9: - resolution: - { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash@4.14.199: - resolution: - { integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== } + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: - resolution: - { integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== } + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.8 dev: true /@types/minimist@1.2.2: - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/mute-stream@0.0.4: - resolution: - { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.12.7 /@types/node@12.20.55: - resolution: - { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true /@types/node@20.12.7: - resolution: - { integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== } + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/normalize-package-data@2.4.2: - resolution: - { integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== } + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} /@types/papaparse@5.3.14: - resolution: - { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } + resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} dependencies: '@types/node': 20.12.7 dev: true /@types/pg@8.11.5: - resolution: - { integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw== } + resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: '@types/node': 20.12.7 pg-protocol: 1.6.1 @@ -6752,97 +6183,79 @@ packages: dev: true /@types/pluralize@0.0.33: - resolution: - { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} dev: true /@types/prettier@2.7.3: - resolution: - { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: '@types/node': 20.12.7 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: - { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } + resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} dev: true /@types/retry@0.12.1: - resolution: - { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: false /@types/semver@7.5.6: - resolution: - { integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== } + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true /@types/semver@7.5.8: - resolution: - { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} /@types/shimmer@1.0.3: - resolution: - { integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA== } + resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} dev: true /@types/statuses@2.0.4: - resolution: - { integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw== } + resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} dev: true /@types/text-table@0.2.5: - resolution: - { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } + resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} dev: true /@types/tmp@0.2.6: - resolution: - { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} dev: true /@types/unist@2.0.8: - resolution: - { integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== } + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: true /@types/which@3.0.3: - resolution: - { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } + resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} /@types/yargs-parser@21.0.1: - resolution: - { integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== } + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false /@types/yargs@16.0.6: - resolution: - { integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== } + resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} dependencies: '@types/yargs-parser': 21.0.1 dev: false /@types/yoga-layout@1.9.2: - resolution: - { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6870,9 +6283,8 @@ packages: dev: true /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6900,9 +6312,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6922,9 +6333,8 @@ packages: dev: true /@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6944,27 +6354,24 @@ packages: dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.7.1: - resolution: - { integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6983,9 +6390,8 @@ packages: dev: true /@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -7004,27 +6410,23 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false /@typescript-eslint/types@6.21.0: - resolution: - { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.7.1: - resolution: - { integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.5): - resolution: - { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7044,9 +6446,8 @@ packages: dev: false /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7067,9 +6468,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5): - resolution: - { integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7090,9 +6490,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7110,9 +6509,8 @@ packages: dev: true /@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: @@ -7130,36 +6528,32 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.7.1: - resolution: - { integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: - { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} + engines: {node: '>=14'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) @@ -7179,8 +6573,7 @@ packages: dev: false /@vitest/expect@1.5.2: - resolution: - { integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA== } + resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==} dependencies: '@vitest/spy': 1.5.2 '@vitest/utils': 1.5.2 @@ -7188,8 +6581,7 @@ packages: dev: true /@vitest/runner@1.5.2: - resolution: - { integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g== } + resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==} dependencies: '@vitest/utils': 1.5.2 p-limit: 5.0.0 @@ -7197,8 +6589,7 @@ packages: dev: true /@vitest/snapshot@1.5.2: - resolution: - { integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ== } + resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 @@ -7206,15 +6597,13 @@ packages: dev: true /@vitest/spy@1.5.2: - resolution: - { integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ== } + resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==} dependencies: tinyspy: 2.2.0 dev: true /@vitest/utils@1.5.2: - resolution: - { integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA== } + resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7223,44 +6612,38 @@ packages: dev: true /@wry/context@0.7.3: - resolution: - { integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/equality@0.5.6: - resolution: - { integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/trie@0.4.3: - resolution: - { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false /abstract-leveldown@0.12.4: - resolution: - { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } + resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} dependencies: xtend: 3.0.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.11.3): - resolution: - { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -7268,8 +6651,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7277,39 +6659,33 @@ packages: dev: true /acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn-walk@8.3.2: - resolution: - { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@5.7.4: - resolution: - { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true /acorn@8.11.3: - resolution: - { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} hasBin: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: @@ -7317,17 +6693,15 @@ packages: dev: false /aggregate-error@4.0.1: - resolution: - { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: - { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: ajv: ^8.0.1 dependencies: @@ -7335,8 +6709,7 @@ packages: dev: false /ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -7345,8 +6718,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -7355,111 +6727,93 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: - { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: - { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } + resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} dev: false /ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} /ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: - { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: - { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} /ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} /ansi-styles@6.2.1: - resolution: - { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /ansicolors@0.3.2: - resolution: - { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} /any-date-parser@1.5.4: - resolution: - { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } + resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} dev: false /any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false /archiver-utils@2.1.0: - resolution: - { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7474,9 +6828,8 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: - { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7491,9 +6844,8 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: - { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -7504,9 +6856,8 @@ packages: dev: false /archiver@5.3.2: - resolution: - { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.4 @@ -7518,9 +6869,8 @@ packages: dev: false /archiver@6.0.1: - resolution: - { integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 async: 3.2.4 @@ -7532,40 +6882,34 @@ packages: dev: false /are-we-there-yet@2.0.0: - resolution: - { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 dev: false /arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} /array-buffer-byte-length@1.0.0: - resolution: - { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 dev: true /array-includes@3.1.7: - resolution: - { integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7575,14 +6919,12 @@ packages: dev: true /array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} /array.prototype.findlastindex@1.2.3: - resolution: - { integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7592,9 +6934,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7603,9 +6944,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7614,9 +6954,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.2: - resolution: - { integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 @@ -7628,20 +6967,17 @@ packages: dev: true /arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} dev: true /arrify@3.0.0: - resolution: - { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: false /asn1.js@5.4.1: - resolution: - { integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -7650,63 +6986,52 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: false /astral-regex@2.0.0: - resolution: - { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} /async-listen@3.0.1: - resolution: - { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} dev: false /async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: - { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false /async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /auto-bind@4.0.0: - resolution: - { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /available-typed-arrays@1.0.5: - resolution: - { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} dev: true /axios@1.5.0: - resolution: - { integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== } + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 @@ -7716,13 +7041,11 @@ packages: dev: false /b4a@1.6.4: - resolution: - { integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== } + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): - resolution: - { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7735,8 +7058,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7748,8 +7070,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7760,23 +7081,19 @@ packages: dev: true /bail@1.0.5: - resolution: - { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} dev: true /balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: - { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} peerDependencies: ajv: 4.11.8 - 8 dependencies: @@ -7789,36 +7106,31 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: - { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} dependencies: is-windows: 1.0.2 dev: true /binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bindings@1.5.0: - resolution: - { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: - { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } + resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -7826,55 +7138,46 @@ packages: dev: false /bn.js@4.12.0: - resolution: - { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true /bn.js@5.2.1: - resolution: - { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /bowser@2.11.0: - resolution: - { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: - { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: - { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true /browserify-aes@1.2.0: - resolution: - { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7885,8 +7188,7 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: - { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7894,8 +7196,7 @@ packages: dev: true /browserify-des@1.0.2: - resolution: - { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7904,8 +7205,7 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: - { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } + resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7913,16 +7213,14 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: - { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true /browserify-sign@4.2.1: - resolution: - { integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== } + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -7936,9 +7234,8 @@ packages: dev: true /browserslist@4.23.0: - resolution: - { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001600 @@ -7947,37 +7244,31 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-es6@4.9.3: - resolution: - { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} dev: true /buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: - resolution: - { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bufrw@1.3.0: - resolution: - { integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} + engines: {node: '>= 0.10.x'} dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7986,58 +7277,49 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: - { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} /builtins@2.0.1: - resolution: - { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } + resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: - { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: - { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} dev: false /bytes-iec@3.1.1: - resolution: - { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} dev: true /cac@6.7.14: - resolution: - { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /cacheable-lookup@7.0.0: - resolution: - { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} /cacheable-request@10.2.13: - resolution: - { integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.2 get-stream: 6.0.1 @@ -8048,34 +7330,29 @@ packages: responselike: 3.0.0 /call-bind@1.0.2: - resolution: - { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.1 /call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true /callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} /camel-case@4.1.2: - resolution: - { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -8083,24 +7360,20 @@ packages: dev: true /camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: false /caniuse-lite@1.0.30001600: - resolution: - { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} /capital-case@1.0.4: - resolution: - { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8108,27 +7381,23 @@ packages: dev: true /cardinal@2.1.1: - resolution: - { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: - { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} /ccount@1.1.0: - resolution: - { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true /chai@4.3.10: - resolution: - { integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -8140,30 +7409,26 @@ packages: dev: true /chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} /change-case@4.1.2: - resolution: - { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -8180,36 +7445,30 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: - { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true /character-entities@1.2.4: - resolution: - { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true /character-reference-invalid@1.1.4: - resolution: - { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true /chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /check-error@1.0.3: - resolution: - { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -8223,84 +7482,72 @@ packages: dev: true /chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: false /ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@3.0.1: - resolution: - { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: - { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -8312,43 +7559,37 @@ packages: dev: true /cli-progress@3.12.0: - resolution: - { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} /cli-truncate@2.1.0: - resolution: - { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: - { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.0.0 dev: true /cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} /clipanion@3.2.1(typanion@3.14.0): - resolution: - { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} peerDependencies: typanion: '*' dependencies: @@ -8356,8 +7597,7 @@ packages: dev: true /cliui@6.0.0: - resolution: - { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8365,8 +7605,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8374,88 +7613,74 @@ packages: dev: true /cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 /clone@0.1.19: - resolution: - { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } + resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} dev: true /clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /code-block-writer@13.0.1: - resolution: - { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} /code-excerpt@3.0.0: - resolution: - { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /color-string@1.9.1: - resolution: - { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false /color@4.2.3: - resolution: - { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors-option@3.0.0: - resolution: - { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} + engines: {node: '>=12.20.0'} dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -8464,39 +7689,33 @@ packages: dev: false /combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: false /commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false /common-path-prefix@3.0.0: - resolution: - { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false /compress-commons@4.1.2: - resolution: - { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -8505,9 +7724,8 @@ packages: dev: false /compress-commons@5.0.1: - resolution: - { integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 crc32-stream: 5.0.0 @@ -8516,13 +7734,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -8531,18 +7747,15 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: - { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false /constant-case@3.0.4: - resolution: - { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8550,48 +7763,40 @@ packages: dev: true /content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-hrtime@3.0.0: - resolution: - { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} dev: false /convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} /convert-to-spaces@1.0.2: - resolution: - { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} + engines: {node: '>= 4'} dev: true /cookie@0.5.0: - resolution: - { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /core-js-compat@3.36.1: - resolution: - { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cosmiconfig@9.0.0(typescript@5.4.5): - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8606,9 +7811,8 @@ packages: dev: false /cp-file@10.0.0: - resolution: - { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8616,9 +7820,8 @@ packages: dev: false /cp-file@9.1.0: - resolution: - { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} + engines: {node: '>=10'} dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8627,9 +7830,8 @@ packages: dev: false /cpy@9.0.1: - resolution: - { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } - engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} + engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8642,41 +7844,36 @@ packages: dev: false /crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: false /crc32-stream@4.0.3: - resolution: - { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /crc32-stream@5.0.0: - resolution: - { integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: - { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true /create-hash@1.2.0: - resolution: - { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8686,8 +7883,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8698,20 +7894,17 @@ packages: dev: true /create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cron-parser@4.9.0: - resolution: - { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} dependencies: luxon: 3.4.3 dev: false /cross-spawn@5.1.0: - resolution: - { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8719,17 +7912,15 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: - { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -8745,24 +7936,20 @@ packages: dev: true /csv-generate@3.4.3: - resolution: - { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true /csv-parse@4.16.3: - resolution: - { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true /csv-stringify@5.6.5: - resolution: - { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true /csv@5.5.3: - resolution: - { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } - engines: { node: '>= 0.1.90' } + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8771,19 +7958,16 @@ packages: dev: true /data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /dataloader@1.4.0: - resolution: - { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true /debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8794,9 +7978,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8807,9 +7990,8 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8820,84 +8002,72 @@ packages: supports-color: 9.4.0 /decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: - { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: false /default-browser-id@5.0.0: - resolution: - { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} dev: false /default-browser@5.2.1: - resolution: - { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} /deferred-leveldown@0.2.0: - resolution: - { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } + resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} dependencies: abstract-leveldown: 0.12.4 dev: true /define-data-property@1.1.0: - resolution: - { integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 gopd: 1.0.1 @@ -8905,15 +8075,13 @@ packages: dev: true /define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} dev: false /define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 @@ -8921,52 +8089,44 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /delegates@1.0.0: - resolution: - { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false /des.js@1.1.0: - resolution: - { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-libc@2.0.2: - resolution: - { integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: false /detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8976,26 +8136,23 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: - { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: - { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: - { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -9003,33 +8160,29 @@ packages: dev: false /detective-sass@5.0.3: - resolution: - { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: - { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: - { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: - { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) ast-module-types: 5.0.0 @@ -9040,19 +8193,16 @@ packages: dev: false /diff-sequences@29.6.3: - resolution: - { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /diffie-hellman@5.0.3: - resolution: - { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -9060,15 +8210,13 @@ packages: dev: true /dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: - { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -9082,16 +8230,14 @@ packages: dev: true /doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: - { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -9099,21 +8245,18 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domhandler@4.3.1: - resolution: - { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: - { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -9121,43 +8264,37 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: - { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} /dotenv@8.6.0: - resolution: - { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: true /drizzle-orm@0.30.9(@opentelemetry/api@1.8.0)(@types/pg@8.11.5)(@xata.io/client@packages+client)(pg@8.11.5)(react@17.0.2): - resolution: - { integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA== } + resolution: {integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -9244,13 +8381,11 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} /edge-runtime@2.5.9: - resolution: - { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -9265,20 +8400,17 @@ packages: dev: false /ejs@3.1.10: - resolution: - { integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 /electron-to-chromium@1.4.715: - resolution: - { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } + resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} /elliptic@6.5.4: - resolution: - { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -9290,109 +8422,92 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: - { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} dev: true /emoji-regex@10.3.0: - resolution: - { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} /end-of-stream@1.4.4: - resolution: - { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false /enhanced-resolve@5.15.0: - resolution: - { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: - { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true /entities@3.0.1: - resolution: - { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} dev: true /env-editor@1.1.0: - resolution: - { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} dev: false /env-paths@3.0.0: - resolution: - { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /errno@0.1.8: - resolution: - { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: - { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false /error@7.0.2: - resolution: - { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false /es-abstract@1.22.2: - resolution: - { integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -9436,13 +8551,11 @@ packages: dev: true /es-module-lexer@1.3.1: - resolution: - { integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== } + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: - resolution: - { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -9450,16 +8563,14 @@ packages: dev: true /es-shim-unscopables@1.0.0: - resolution: - { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive@1.2.1: - resolution: - { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -9467,14 +8578,12 @@ packages: dev: true /es6-promise@3.3.1: - resolution: - { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true /esbuild@0.19.11: - resolution: - { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9504,9 +8613,8 @@ packages: dev: true /esbuild@0.19.2: - resolution: - { integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9535,9 +8643,8 @@ packages: dev: false /esbuild@0.20.2: - resolution: - { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9567,36 +8674,30 @@ packages: dev: true /escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} /escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} /escape-string-regexp@5.0.0: - resolution: - { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: false /escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -9607,9 +8708,8 @@ packages: dev: false /eslint-config-oclif-typescript@3.1.7(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-5q6Q1NjQt6WrAANGO9Go3uuxZTzf7ywmecRNW7e+bTnlkTk0/ClPd6SogH+qkwOkFJaMHmBp45ZmzvwGzy/Txg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-5q6Q1NjQt6WrAANGO9Go3uuxZTzf7ywmecRNW7e+bTnlkTk0/ClPd6SogH+qkwOkFJaMHmBp45ZmzvwGzy/Txg==} + engines: {node: '>=18.0.0'} dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.1.1)(typescript@5.4.5) @@ -9632,9 +8732,8 @@ packages: dev: true /eslint-config-oclif@5.1.3(eslint@9.1.1): - resolution: - { integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug==} + engines: {node: '>=18.0.0'} dependencies: eslint-config-xo-space: 0.35.0(eslint@9.1.1) eslint-plugin-mocha: 10.4.3(eslint@9.1.1) @@ -9645,9 +8744,8 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@9.1.1): - resolution: - { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9656,9 +8754,8 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@9.1.1): - resolution: - { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9667,8 +8764,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -9678,9 +8774,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9702,9 +8797,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9726,9 +8820,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9757,9 +8850,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9788,9 +8880,8 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@9.1.1): - resolution: - { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9800,9 +8891,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9836,9 +8926,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9872,9 +8961,8 @@ packages: dev: true /eslint-plugin-mocha@10.4.3(eslint@9.1.1): - resolution: - { integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==} + engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9885,9 +8973,8 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@9.1.1): - resolution: - { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9903,8 +8990,7 @@ packages: dev: true /eslint-plugin-perfectionist@2.10.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w== } + resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9931,9 +9017,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@9.1.1): - resolution: - { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -9956,26 +9041,23 @@ packages: dev: true /eslint-scope@8.0.1: - resolution: - { integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: - { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@9.1.1): - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: @@ -9984,32 +9066,27 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: - { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: true /eslint-visitor-keys@2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint-visitor-keys@4.0.0: - resolution: - { integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /eslint@9.1.1: - resolution: - { integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) @@ -10051,9 +9128,8 @@ packages: dev: true /espree@10.0.1: - resolution: - { integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -10061,74 +9137,62 @@ packages: dev: true /esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true /esquery@1.5.0: - resolution: - { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} /estree-walker@0.5.2: - resolution: - { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} dev: true /estree-walker@0.6.1: - resolution: - { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true /estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} /estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} /eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} /evp_bytestokey@1.0.3: - resolution: - { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10142,9 +9206,8 @@ packages: dev: false /execa@6.1.0: - resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10158,9 +9221,8 @@ packages: dev: false /execa@8.0.1: - resolution: - { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -10174,19 +9236,16 @@ packages: dev: true /extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /extendable-error@0.1.7: - resolution: - { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true /external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -10194,23 +9253,19 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} /fast-equals@3.0.3: - resolution: - { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } + resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} dev: false /fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: - resolution: - { integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10220,9 +9275,8 @@ packages: dev: true /fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10231,54 +9285,45 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-levenshtein@3.0.0: - resolution: - { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: - { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} /fast-xml-parser@4.2.5: - resolution: - { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: '>= 4.9.1' } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} /fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: - { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 dev: true /fdir@6.1.0: - resolution: - { integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg== } + resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} peerDependencies: picomatch: 2.x peerDependenciesMeta: @@ -10287,139 +9332,121 @@ packages: dev: false /fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 dev: false /figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /figures@4.0.1: - resolution: - { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: - { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: flat-cache: 4.0.1 dev: true /file-uri-to-path@1.0.0: - resolution: - { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true dev: false /filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: - { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /filter-obj@5.1.0: - resolution: - { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} dev: false /find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: - { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: - { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} dependencies: micromatch: 4.0.5 dev: true /flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.2.9 keyv: 4.5.4 dev: true /flatted@3.2.9: - resolution: - { integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== } + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /follow-redirects@1.15.3: - resolution: - { integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -10428,35 +9455,30 @@ packages: dev: false /for-each@0.3.3: - resolution: - { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: - { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true /foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: - { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } - engines: { node: '>= 14.17' } + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} /form-data@4.0.0: - resolution: - { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -10464,28 +9486,24 @@ packages: dev: false /format@0.2.2: - resolution: - { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} dev: true /formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false /fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -10493,9 +9511,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10503,9 +9520,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10513,34 +9529,29 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: false /fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + 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 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -10549,21 +9560,18 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /fwd-stream@1.0.4: - resolution: - { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } + resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: - { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10577,38 +9585,32 @@ packages: dev: false /gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} /get-amd-module-type@5.0.1: - resolution: - { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} /get-east-asian-width@1.2.0: - resolution: - { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true /get-func-name@2.0.2: - resolution: - { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: - resolution: - { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.2 has: 1.0.3 @@ -10616,82 +9618,69 @@ packages: has-symbols: 1.0.3 /get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} /get-port@6.1.2: - resolution: - { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /get-stdin@9.0.0: - resolution: - { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} /get-stream@8.0.1: - resolution: - { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: - resolution: - { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 dev: true /get-tsconfig@4.7.2: - resolution: - { integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== } + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: - { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /github-slugger@1.5.0: - resolution: - { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true /glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false /glob@10.3.8: - resolution: - { integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -10702,8 +9691,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10713,9 +9701,8 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: - { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10725,36 +9712,31 @@ packages: dev: false /globals@11.12.0: - resolution: - { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} /globals@13.24.0: - resolution: - { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globals@14.0.0: - resolution: - { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} dev: true /globalthis@1.0.3: - resolution: - { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -10764,9 +9746,8 @@ packages: slash: 3.0.0 /globby@13.2.2: - resolution: - { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -10775,9 +9756,8 @@ packages: slash: 4.0.0 /globby@14.0.1: - resolution: - { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -10788,25 +9768,22 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: - { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 dev: true /got-fetch@5.1.6(got@12.6.1): - resolution: - { integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} + engines: {node: '>=14.0.0'} peerDependencies: got: ^12.0.0 dependencies: @@ -10814,9 +9791,8 @@ packages: dev: true /got@12.6.1: - resolution: - { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10831,9 +9807,8 @@ packages: responselike: 3.0.0 /got@13.0.0: - resolution: - { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10849,23 +9824,19 @@ packages: dev: true /graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: - resolution: - { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true /graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: - { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + 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 dependencies: @@ -10874,79 +9845,66 @@ packages: dev: true /graphql@15.8.0: - resolution: - { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} dev: true /graphql@16.8.1: - resolution: - { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true /hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} dev: true /has-bigints@1.0.2: - resolution: - { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} /has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.0: - resolution: - { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 dev: true /has-proto@1.0.1: - resolution: - { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: - { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: - resolution: - { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false /has@1.0.3: - resolution: - { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 /hash-base@3.1.0: - resolution: - { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10954,37 +9912,32 @@ packages: dev: true /hash.js@1.1.7: - resolution: - { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /hasown@2.0.0: - resolution: - { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: - { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /headers-polyfill@4.0.2: - resolution: - { integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw== } + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hexer@1.5.0: - resolution: - { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: ansi-color: 0.2.1 @@ -10994,13 +9947,11 @@ packages: dev: false /highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true /hmac-drbg@1.0.1: - resolution: - { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -11008,43 +9959,37 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 /hosted-git-info@7.0.1: - resolution: - { integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: lru-cache: 10.2.2 dev: false /hot-shots@10.0.0: - resolution: - { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} + engines: {node: '>=10.0.0'} optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: - { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -11053,13 +9998,11 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-call@5.3.0: - resolution: - { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -11072,22 +10015,19 @@ packages: dev: true /http2-client@1.3.5: - resolution: - { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} dev: true /http2-wrapper@2.2.0: - resolution: - { integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -11096,74 +10036,62 @@ packages: dev: false /human-id@1.0.2: - resolution: - { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true /human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: false /human-signals@3.0.1: - resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} dev: false /human-signals@5.0.0: - resolution: - { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } - engines: { node: '>=16.17.0' } + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@9.0.11: - resolution: - { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} hasBin: true dev: true /hyperlinker@1.0.0: - resolution: - { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} /iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /idb-wrapper@1.7.2: - resolution: - { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } + resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} dev: true /ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false /ignore@5.3.1: - resolution: - { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} /import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: - { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} dependencies: acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) @@ -11172,48 +10100,40 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} /indent-string@5.0.0: - resolution: - { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: false /indexof@0.0.1: - resolution: - { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: true /inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@4.1.2: - resolution: - { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /ink@3.2.0(react@17.0.2): - resolution: - { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -11251,9 +10171,8 @@ packages: dev: true /internal-slot@1.0.5: - resolution: - { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -11261,27 +10180,23 @@ packages: dev: true /interpret@1.4.0: - resolution: - { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: true /is-alphabetical@1.0.4: - resolution: - { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true /is-alphanumerical@1.0.4: - resolution: - { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true /is-array-buffer@3.0.2: - resolution: - { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -11289,357 +10204,300 @@ packages: dev: true /is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: - { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} /is-bigint@1.0.4: - resolution: - { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object@1.1.2: - resolution: - { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-buffer@2.0.5: - resolution: - { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: true /is-builtin-module@3.2.1: - resolution: - { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module@2.13.0: - resolution: - { integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-core-module@2.13.1: - resolution: - { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 /is-date-object@1.0.5: - resolution: - { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-decimal@1.0.4: - resolution: - { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true /is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true /is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: false /is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} /is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-fullwidth-code-point@5.0.0: - resolution: - { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: - { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true /is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-negative-zero@2.0.2: - resolution: - { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} dev: true /is-node-process@1.2.0: - resolution: - { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true /is-number-object@1.0.7: - resolution: - { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} /is-object@0.1.2: - resolution: - { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } + resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true /is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: false /is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@2.1.0: - resolution: - { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} /is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} /is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-retry-allowed@1.2.0: - resolution: - { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true /is-shared-array-buffer@1.0.2: - resolution: - { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-stream@3.0.0: - resolution: - { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /is-string@1.0.7: - resolution: - { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-subdir@1.2.0: - resolution: - { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: - { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.12: - resolution: - { integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 dev: true /is-unicode-supported@1.3.0: - resolution: - { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: false /is-url-superb@4.0.0: - resolution: - { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: false /is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: false /is-weakref@1.0.2: - resolution: - { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true /is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: - { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } + resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} dev: true /isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true /isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isbuffer@0.0.0: - resolution: - { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } + resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} dev: true /iserror@0.0.2: - resolution: - { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} dev: false /isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} dev: false /jackspeak@2.3.5: - resolution: - { integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -11647,9 +10505,8 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: - { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} + engines: {node: '>=10'} dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -11659,9 +10516,8 @@ packages: dev: false /jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -11670,15 +10526,13 @@ packages: minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: - { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false /jest-validate@27.5.1: - resolution: - { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11689,110 +10543,91 @@ packages: dev: false /jiti@1.21.0: - resolution: - { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /js-tokens@8.0.3: - resolution: - { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: - { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: - { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /jsesc@3.0.2: - resolution: - { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} /json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true /jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} /jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -11800,73 +10635,62 @@ packages: dev: true /jsonpointer@5.0.1: - resolution: - { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} dev: false /junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} dev: false /keep-func-props@4.0.1: - resolution: - { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} + engines: {node: '>=12.20.0'} dependencies: mimic-fn: 4.0.0 dev: false /keyv@4.5.3: - resolution: - { integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== } + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 /keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: false /kleur@4.1.5: - resolution: - { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /kysely@0.27.3: - resolution: - { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} dev: true /lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: - { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } + resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11874,8 +10698,7 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: - { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } + resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11889,27 +10712,23 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: - { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } + resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} dev: true /level-fix-range@2.0.0: - resolution: - { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } + resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: - { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } + resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: - { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } + resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11920,15 +10739,13 @@ packages: dev: true /level-peek@1.0.6: - resolution: - { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } + resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: - { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } + resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11937,8 +10754,7 @@ packages: dev: true /levelup@0.18.6: - resolution: - { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } + resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11950,40 +10766,34 @@ packages: dev: true /leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: false /levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: - { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} dev: true /lilconfig@3.1.1: - resolution: - { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} dev: true /lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lint-staged@15.2.2: - resolution: - { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 @@ -12001,9 +10811,8 @@ packages: dev: true /listr2@8.0.1: - resolution: - { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -12014,9 +10823,8 @@ packages: dev: true /load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -12025,9 +10833,8 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: - { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -12036,139 +10843,115 @@ packages: dev: true /local-pkg@0.5.0: - resolution: - { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.4.2 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: - { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false /lodash._reinterpolate@3.0.0: - resolution: - { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true /lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} /lodash.chunk@4.2.0: - resolution: - { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } + resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false /lodash.compact@3.0.1: - resolution: - { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } + resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} dev: false /lodash.debounce@4.0.8: - resolution: - { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.defaults@4.2.0: - resolution: - { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: false /lodash.difference@4.5.0: - resolution: - { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: false /lodash.flatten@4.4.0: - resolution: - { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false /lodash.get@4.4.2: - resolution: - { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false /lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.pick@4.4.0: - resolution: - { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: false /lodash.set@4.3.2: - resolution: - { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: false /lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true /lodash.template@4.5.0: - resolution: - { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: - { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: - { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: false /lodash@4.17.21: - resolution: - { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} /log-process-errors@8.0.0: - resolution: - { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} + engines: {node: '>=12.20.0'} dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -12180,9 +10963,8 @@ packages: dev: false /log-update@6.0.0: - resolution: - { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -12192,167 +10974,141 @@ packages: dev: true /long@2.4.0: - resolution: - { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} + engines: {node: '>=0.6'} dev: false /long@5.2.3: - resolution: - { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} /longest-streak@2.0.4: - resolution: - { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true /loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: - { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lowercase-keys@3.0.0: - resolution: - { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /lru-cache@10.2.2: - resolution: - { integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} /lru-cache@4.1.5: - resolution: - { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /ltgt@2.2.1: - resolution: - { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} dev: true /luxon@3.4.3: - resolution: - { integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} dev: false /macos-release@3.2.0: - resolution: - { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /magic-string@0.22.5: - resolution: - { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: - { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } + resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: - { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.30.4: - resolution: - { integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.5: - resolution: - { integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} dev: true /map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} dev: true /map-obj@5.0.2: - resolution: - { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /markdown-table@2.0.0: - resolution: - { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: - { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -12360,8 +11116,7 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: - { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -12369,8 +11124,7 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: - { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -12379,8 +11133,7 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: - { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.12 mdast-util-to-string: 2.0.0 @@ -12392,15 +11145,13 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: - { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: - { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -12410,30 +11161,26 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: - { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: - { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: - { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: - { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -12445,8 +11192,7 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: - { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: '@types/unist': 2.0.8 longest-streak: 2.0.4 @@ -12457,19 +11203,16 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: - { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true /memoize-one@6.0.0: - resolution: - { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false /meow@6.1.1: - resolution: - { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -12485,35 +11228,29 @@ packages: dev: true /merge-options@3.0.4: - resolution: - { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} /merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} /micro-api-client@3.3.0: - resolution: - { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } + resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} dev: false /micro-memoize@4.1.2: - resolution: - { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } + resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} dev: false /micromark-extension-footnote@0.3.2: - resolution: - { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12521,15 +11258,13 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: - { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: - { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12537,8 +11272,7 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: - { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12546,8 +11280,7 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: - { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12555,13 +11288,11 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: - { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: - { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12569,8 +11300,7 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: - { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -12583,8 +11313,7 @@ packages: dev: true /micromark@2.11.4: - resolution: - { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -12593,16 +11322,14 @@ packages: dev: true /micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: - { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: bn.js: 4.12.0 @@ -12610,87 +11337,73 @@ packages: dev: true /mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} /mimic-fn@4.0.0: - resolution: - { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} /mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} /mimic-response@4.0.0: - resolution: - { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimalistic-crypto-utils@1.0.1: - resolution: - { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true /minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 /minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: - { integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12698,60 +11411,51 @@ packages: dev: true /minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: false /minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: false /minipass@7.0.3: - resolution: - { integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 yallist: 4.0.0 dev: false /mixme@0.5.9: - resolution: - { integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} dev: true /mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true dev: false /mkdirp@3.0.1: - resolution: - { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true /mlly@1.4.2: - resolution: - { integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== } + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.3 pathe: 1.1.1 @@ -12760,9 +11464,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12770,44 +11473,37 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: - { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} /moize@6.1.6: - resolution: - { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } + resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: - { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: - { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false /ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /msw@2.2.14(typescript@5.4.5): - resolution: - { integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: @@ -12837,13 +11533,11 @@ packages: dev: true /mute-stream@1.0.0: - resolution: - { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} /mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 @@ -12851,55 +11545,46 @@ packages: dev: true /nan@2.18.0: - resolution: - { integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== } + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: - { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true /nanoid@5.0.6: - resolution: - { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } - engines: { node: ^18 || >=20 } + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} + engines: {node: ^18 || >=20} hasBin: true dev: true /nanospinner@1.1.0: - resolution: - { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /natural-orderby@2.0.3: - resolution: - { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} /nested-error-stacks@2.1.1: - resolution: - { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false /netlify-headers-parser@7.1.2: - resolution: - { integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 @@ -12910,9 +11595,8 @@ packages: dev: false /netlify-redirect-parser@14.2.0: - resolution: - { integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 @@ -12922,9 +11606,8 @@ packages: dev: false /netlify@13.1.10: - resolution: - { integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.22.0 lodash-es: 4.17.21 @@ -12936,31 +11619,27 @@ packages: dev: false /no-case@3.0.4: - resolution: - { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-fetch-h2@2.3.0: - resolution: - { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12970,9 +11649,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -12980,53 +11658,45 @@ packages: dev: false /node-gyp-build@4.6.1: - resolution: - { integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== } + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false /node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false /node-readfiles@0.2.0: - resolution: - { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: - { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /node-source-walk@6.0.2: - resolution: - { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: - { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} dev: false /nopt@5.0.0: - resolution: - { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true dependencies: abbrev: 1.1.1 dev: false /normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.6 @@ -13035,9 +11705,8 @@ packages: dev: true /normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 @@ -13045,27 +11714,23 @@ packages: validate-npm-package-license: 3.0.4 /normalize-path@2.1.1: - resolution: - { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} /normalize-url@8.0.0: - resolution: - { integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} /npm-package-arg@11.0.2: - resolution: - { integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 proc-log: 4.0.0 @@ -13074,32 +11739,28 @@ packages: dev: false /npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false /npm-run-path@5.1.0: - resolution: - { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 /npm-run-path@5.3.0: - resolution: - { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: false /npm@10.6.0: - resolution: - { integrity: sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: false bundledDependencies: @@ -13174,8 +11835,7 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: - { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -13184,15 +11844,13 @@ packages: dev: false /oas-kit-common@1.0.8: - resolution: - { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: - { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -13200,8 +11858,7 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: - { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -13212,13 +11869,11 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: - { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} dev: true /oas-validator@5.0.8: - resolution: - { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -13231,17 +11886,14 @@ packages: dev: true /object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.12.3: - resolution: - { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@0.2.0: - resolution: - { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } + resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -13250,31 +11902,26 @@ packages: dev: true /object-keys@0.4.0: - resolution: - { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true /object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-treeify@1.1.33: - resolution: - { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} /object-treeify@4.0.1: - resolution: - { integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ== } - engines: { node: '>= 16' } + resolution: {integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==} + engines: {node: '>= 16'} dev: false /object.assign@4.1.4: - resolution: - { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13283,9 +11930,8 @@ packages: dev: true /object.fromentries@2.0.7: - resolution: - { integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13293,8 +11939,7 @@ packages: dev: true /object.groupby@1.0.1: - resolution: - { integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== } + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13303,9 +11948,8 @@ packages: dev: true /object.values@1.1.7: - resolution: - { integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13313,14 +11957,12 @@ packages: dev: true /obuf@1.1.2: - resolution: - { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /oclif@4.9.0: - resolution: - { integrity: sha512-35wI+Rqu7iDix6iLToYyqTw7aHDxzUsymt2JZ5HMzrZWlaebDwkYMJTyOT08e9IQY8U8k4+zZPie1hLTxdEOFg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-35wI+Rqu7iDix6iLToYyqTw7aHDxzUsymt2JZ5HMzrZWlaebDwkYMJTyOT08e9IQY8U8k4+zZPie1hLTxdEOFg==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 @@ -13352,39 +11994,33 @@ packages: dev: true /octal@1.0.0: - resolution: - { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } + resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} dev: true /omit.js@2.0.2: - resolution: - { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} dev: false /once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: - { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: - { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -13393,21 +12029,18 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: - { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: - { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} + engines: {node: '>=0.10'} dev: false /optimism@0.17.5: - resolution: - { integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== } + resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} dependencies: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 @@ -13415,9 +12048,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -13428,231 +12060,199 @@ packages: dev: true /os-name@5.1.0: - resolution: - { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: - { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /outdent@0.5.0: - resolution: - { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true /outvariant@1.4.2: - resolution: - { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} dev: true /p-cancelable@3.0.0: - resolution: - { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} /p-event@4.2.0: - resolution: - { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: - { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: - { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: - { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: - { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} dev: false /p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: - { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: - { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} /p-map@5.5.0: - resolution: - { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 dev: false /p-queue@8.0.1: - resolution: - { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: - { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} dev: false /p-retry@5.1.2: - resolution: - { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} dependencies: p-finally: 1.0.0 dev: false /p-timeout@5.1.0: - resolution: - { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} dev: false /p-timeout@6.1.2: - resolution: - { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} dev: false /p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /p-wait-for@4.1.0: - resolution: - { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} + engines: {node: '>=12'} dependencies: p-timeout: 5.1.0 dev: false /papaparse@5.4.1: - resolution: - { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} dev: false /param-case@3.0.4: - resolution: - { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 /parse-asn1@5.1.6: - resolution: - { integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== } + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -13662,8 +12262,7 @@ packages: dev: true /parse-entities@2.0.0: - resolution: - { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13674,18 +12273,16 @@ packages: dev: true /parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -13693,144 +12290,120 @@ packages: lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: - { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: false /parse-ms@3.0.0: - resolution: - { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} dev: true /parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /pascal-case@3.1.2: - resolution: - { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: - { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: - { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} dev: true /path-browserify@1.0.1: - resolution: - { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-case@3.0.4: - resolution: - { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} /path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} /path-key@4.0.0: - resolution: - { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} /path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: - resolution: - { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.2 minipass: 7.0.3 dev: true /path-to-regexp@6.2.1: - resolution: - { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true /path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} /path-type@5.0.0: - resolution: - { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} /pathe@1.1.1: - resolution: - { integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /pathval@1.1.1: - resolution: - { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13840,32 +12413,27 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: - { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: true optional: true /pg-connection-string@2.6.4: - resolution: - { integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== } + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} dev: true /pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} dev: true /pg-numeric@1.0.2: - resolution: - { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} dev: true /pg-pool@3.6.2(pg@8.11.5): - resolution: - { integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== } + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: @@ -13873,14 +12441,12 @@ packages: dev: true /pg-protocol@1.6.1: - resolution: - { integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== } + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} dev: true /pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13890,9 +12456,8 @@ packages: dev: true /pg-types@4.0.2: - resolution: - { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13904,9 +12469,8 @@ packages: dev: true /pg@8.11.5: - resolution: - { integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13923,59 +12487,50 @@ packages: dev: true /pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: - { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} /pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: - { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 @@ -13983,15 +12538,13 @@ packages: dev: true /pluralize@8.0.0: - resolution: - { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: - { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -14002,75 +12555,64 @@ packages: dev: false /postcss@8.4.38: - resolution: - { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} dev: true /postgres-array@3.0.2: - resolution: - { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} dev: true /postgres-bytea@1.0.0: - resolution: - { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} dev: true /postgres-bytea@3.0.0: - resolution: - { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} dev: true /postgres-date@2.1.0: - resolution: - { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} dev: true /postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: - { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} dev: true /postgres-range@1.1.4: - resolution: - { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: - { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -14090,9 +12632,8 @@ packages: dev: false /preferred-pm@3.1.2: - resolution: - { integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -14101,28 +12642,24 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier@2.8.8: - resolution: - { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true /prettier@3.2.5: - resolution: - { integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true /pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -14130,9 +12667,8 @@ packages: dev: false /pretty-format@29.7.0: - resolution: - { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -14140,60 +12676,51 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: - { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} dependencies: parse-ms: 3.0.0 dev: false /proc-log@4.0.0: - resolution: - { integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /process-es6@0.11.6: - resolution: - { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} dev: true /process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process@0.10.1: - resolution: - { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} + engines: {node: '>= 0.6.0'} dev: false /process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} dev: false /prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14201,9 +12728,8 @@ packages: dev: true /protobufjs@7.2.5: - resolution: - { integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -14220,34 +12746,28 @@ packages: long: 5.2.3 /proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false /prr@0.0.0: - resolution: - { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } + resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} dev: true /prr@1.0.1: - resolution: - { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true /ps-list@8.1.1: - resolution: - { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /pseudomap@1.0.2: - resolution: - { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /public-encrypt@4.0.3: - resolution: - { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -14258,74 +12778,62 @@ packages: dev: true /pump@3.0.0: - resolution: - { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode@2.3.0: - resolution: - { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} /qs@6.11.2: - resolution: - { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} /queue-tick@1.0.1: - resolution: - { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false /quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} dev: true /quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} /quote-unquote@1.0.0: - resolution: - { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: false /rambda@7.5.0: - resolution: - { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} dev: true /randombytes@2.1.0: - resolution: - { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: - { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /react-devtools-core@4.28.0: - resolution: - { integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== } + resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -14335,24 +12843,20 @@ packages: dev: true /react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false /react-is@18.2.0: - resolution: - { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: - { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^17.0.2 dependencies: @@ -14363,18 +12867,16 @@ packages: dev: true /react@17.0.2: - resolution: - { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -14382,9 +12884,8 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: - { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -14392,9 +12893,8 @@ packages: dev: false /read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -14402,9 +12902,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 @@ -14413,9 +12912,8 @@ packages: dev: true /read-pkg@7.1.0: - resolution: - { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 @@ -14424,9 +12922,8 @@ packages: dev: false /read-yaml-file@1.1.0: - resolution: - { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -14435,8 +12932,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14445,8 +12941,7 @@ packages: dev: true /readable-stream@1.1.14: - resolution: - { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14455,8 +12950,7 @@ packages: dev: true /readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14467,90 +12961,77 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 /readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: false /readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: - { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.6 dev: true /redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: - { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: - { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} dev: true /regenerate-unicode-properties@10.1.1: - resolution: - { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.14.0: - resolution: - { integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== } + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /regenerator-transform@0.15.2: - resolution: - { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.1 dev: true /regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true /regexp.prototype.flags@1.5.1: - resolution: - { integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14558,15 +13039,13 @@ packages: dev: true /regexpp@3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: true /regexpu-core@5.3.2: - resolution: - { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14577,25 +13056,22 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: - { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /relaxed-json@1.0.3: - resolution: - { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} + engines: {node: '>= 0.10.0'} hasBin: true dependencies: chalk: 2.4.2 @@ -14603,8 +13079,7 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: - { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14613,16 +13088,14 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: - { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: - { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14631,8 +13104,7 @@ packages: dev: true /remark-parse@9.0.0: - resolution: - { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14640,31 +13112,26 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: - { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: false /repeat-string@1.6.1: - resolution: - { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true /require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} /require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: - { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14674,9 +13141,8 @@ packages: dev: false /require-in-the-middle@7.2.0: - resolution: - { integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14686,36 +13152,29 @@ packages: dev: true /require-main-filename@2.0.0: - resolution: - { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /require-package-name@2.0.1: - resolution: - { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false /resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} /resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} /resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} /resolve-pkg-maps@1.0.0: - resolution: - { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} /resolve@1.22.6: - resolution: - { integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== } + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14723,8 +13182,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.4: - resolution: - { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14733,79 +13191,68 @@ packages: dev: false /response-iterator@0.2.6: - resolution: - { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} dev: true /responselike@3.0.0: - resolution: - { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} /reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} /rfdc@1.3.0: - resolution: - { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: false /rimraf@5.0.5: - resolution: - { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true dependencies: glob: 10.3.8 dev: true /ripemd160@2.0.2: - resolution: - { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.17.1): - resolution: - { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} + engines: {node: '>=6'} peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14817,9 +13264,8 @@ packages: dev: true /rollup-plugin-dts@6.1.0(rollup@4.17.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 @@ -14832,9 +13278,8 @@ packages: dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.17.1): - resolution: - { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -14850,8 +13295,7 @@ packages: dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: - { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } + resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14860,8 +13304,7 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: - { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14872,38 +13315,33 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: - { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: - { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } + resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: - { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } + resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: - { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true /rollup@4.17.1: - resolution: - { integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14928,28 +13366,24 @@ packages: dev: true /run-applescript@7.0.0: - resolution: - { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} dev: false /run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: - { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.0.1: - resolution: - { integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14958,21 +13392,17 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} /safe-json-stringify@1.2.0: - resolution: - { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} dev: false /safe-regex-test@1.0.0: - resolution: - { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14980,60 +13410,51 @@ packages: dev: true /safe-resolve@1.0.0: - resolution: - { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } + resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} dev: true /safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /scheduler@0.20.2: - resolution: - { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /semver@2.3.2: - resolution: - { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } + resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} hasBin: true dev: true /semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true /semver@7.5.4: - resolution: - { integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.6.0: - resolution: - { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: - { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -15041,13 +13462,11 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-name@2.0.1: - resolution: - { integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 functions-have-names: 1.2.3 @@ -15055,8 +13474,7 @@ packages: dev: true /sha.js@2.4.11: - resolution: - { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -15064,40 +13482,34 @@ packages: dev: true /shebang-command@1.2.0: - resolution: - { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: - { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} /shell-quote@1.8.1: - resolution: - { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -15106,45 +13518,38 @@ packages: dev: true /shimmer@1.2.1: - resolution: - { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} /should-equal@2.0.0: - resolution: - { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: - { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: - { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: - { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} dev: true /should-util@1.0.1: - resolution: - { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} dev: true /should@13.2.3: - resolution: - { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -15154,9 +13559,8 @@ packages: dev: true /shx@0.3.4: - resolution: - { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} hasBin: true dependencies: minimist: 1.2.8 @@ -15164,48 +13568,40 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 /siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true /signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signal-exit@4.0.2: - resolution: - { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} dev: false /signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} /simple-swizzle@0.2.2: - resolution: - { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false /size-limit@11.1.2: - resolution: - { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 @@ -15218,25 +13614,21 @@ packages: dev: true /slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} /slash@4.0.0: - resolution: - { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} /slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: - resolution: - { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15244,36 +13636,32 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: - { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: - { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true /smartwrap@2.0.2: - resolution: - { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -15285,21 +13673,18 @@ packages: dev: true /snake-case@3.0.4: - resolution: - { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /sort-object-keys@1.1.3: - resolution: - { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.10.0: - resolution: - { integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g== } + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -15313,158 +13698,133 @@ packages: dev: true /source-map-js@1.2.0: - resolution: - { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} /source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: - { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: - { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.15 /spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.15 /spdx-license-ids@3.0.15: - resolution: - { integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== } + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} /split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} dev: true /sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} /stack-generator@2.0.10: - resolution: - { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: - resolution: - { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false /statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.6.0: - resolution: - { integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== } + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true /stream-transform@2.1.3: - resolution: - { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true /streamx@2.15.1: - resolution: - { integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== } + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false /strict-event-emitter@0.5.1: - resolution: - { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} dev: true /string-range@1.2.2: - resolution: - { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } + resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} dev: true /string-template@0.2.1: - resolution: - { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: false /string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 /string-width@7.0.0: - resolution: - { integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -15472,9 +13832,8 @@ packages: dev: true /string.prototype.trim@1.2.8: - resolution: - { integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15482,8 +13841,7 @@ packages: dev: true /string.prototype.trimend@1.0.7: - resolution: - { integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== } + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15491,8 +13849,7 @@ packages: dev: true /string.prototype.trimstart@1.0.7: - resolution: - { integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== } + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15500,121 +13857,102 @@ packages: dev: true /string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true /string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 /strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false /strip-final-newline@3.0.0: - resolution: - { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} /strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@2.0.0: - resolution: - { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: - { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: - { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} /supports-hyperlinks@2.3.0: - resolution: - { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swagger2openapi@7.0.8: - resolution: - { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15633,21 +13971,18 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: - { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} dev: true /tapable@2.2.1: - resolution: - { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15657,8 +13992,7 @@ packages: dev: false /tar-stream@3.1.6: - resolution: - { integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== } + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 @@ -15666,9 +14000,8 @@ packages: dev: false /tar@6.2.0: - resolution: - { integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15679,43 +14012,37 @@ packages: dev: false /term-size@2.2.1: - resolution: - { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} dev: true /terminal-link@3.0.0: - resolution: - { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: - { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} /thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: - { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: bufrw: 1.3.0 @@ -15724,97 +14051,81 @@ packages: dev: false /time-span@4.0.0: - resolution: - { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: false /tinybench@2.5.1: - resolution: - { integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== } + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.8.4: - resolution: - { integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} dev: true /tinyspy@2.2.0: - resolution: - { integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} dev: true /tmp-promise@3.0.3: - resolution: - { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: - { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: - { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} dev: false /to-fast-properties@2.0.0: - resolution: - { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} /to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: - { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false /tomlify-j0.4@3.0.0: - resolution: - { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } + resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} dev: false /tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /traverse@0.6.7: - resolution: - { integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== } + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true /trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} dev: true /trough@1.0.5: - resolution: - { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: - { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -15822,23 +14133,20 @@ packages: dev: true /ts-invariant@0.10.3: - resolution: - { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: - { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15868,8 +14176,7 @@ packages: yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15878,17 +14185,14 @@ packages: dev: true /tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} /tslib@2.6.2: - resolution: - { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.8.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15897,9 +14201,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15908,9 +14211,8 @@ packages: dev: false /tsx@4.7.3: - resolution: - { integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.11 @@ -15920,9 +14222,8 @@ packages: dev: true /tty-table@4.2.1: - resolution: - { integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -15935,15 +14236,13 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /turbo-darwin-64@1.13.3: - resolution: - { integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA== } + resolution: {integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -15951,8 +14250,7 @@ packages: optional: true /turbo-darwin-arm64@1.13.3: - resolution: - { integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg== } + resolution: {integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -15960,8 +14258,7 @@ packages: optional: true /turbo-linux-64@1.13.3: - resolution: - { integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g== } + resolution: {integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==} cpu: [x64] os: [linux] requiresBuild: true @@ -15969,8 +14266,7 @@ packages: optional: true /turbo-linux-arm64@1.13.3: - resolution: - { integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ== } + resolution: {integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==} cpu: [arm64] os: [linux] requiresBuild: true @@ -15978,8 +14274,7 @@ packages: optional: true /turbo-windows-64@1.13.3: - resolution: - { integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q== } + resolution: {integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -15987,8 +14282,7 @@ packages: optional: true /turbo-windows-arm64@1.13.3: - resolution: - { integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ== } + resolution: {integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==} cpu: [arm64] os: [win32] requiresBuild: true @@ -15996,8 +14290,7 @@ packages: optional: true /turbo@1.13.3: - resolution: - { integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g== } + resolution: {integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==} hasBin: true optionalDependencies: turbo-darwin-64: 1.13.3 @@ -16009,86 +14302,72 @@ packages: dev: true /typanion@3.14.0: - resolution: - { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} dev: true /type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-fest@1.4.0: - resolution: - { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: false /type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: false /type-fest@3.13.1: - resolution: - { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /type-fest@4.9.0: - resolution: - { integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} + engines: {node: '>=16'} dev: true /typed-array-buffer@1.0.0: - resolution: - { integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16096,9 +14375,8 @@ packages: dev: true /typed-array-byte-length@1.0.0: - resolution: - { integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16107,9 +14385,8 @@ packages: dev: true /typed-array-byte-offset@1.0.0: - resolution: - { integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16119,8 +14396,7 @@ packages: dev: true /typed-array-length@1.0.4: - resolution: - { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16128,19 +14404,16 @@ packages: dev: true /typedarray-to-buffer@1.0.4: - resolution: - { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } + resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true /typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript-eslint@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -16158,33 +14431,28 @@ packages: dev: true /typescript@4.8.2: - resolution: - { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + engines: {node: '>=4.2.0'} hasBin: true dev: true /typescript@5.2.2: - resolution: - { integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: false /typescript@5.4.5: - resolution: - { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.0: - resolution: - { integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /unbox-primitive@1.0.2: - resolution: - { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -16193,50 +14461,42 @@ packages: dev: true /underscore@1.13.6: - resolution: - { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true /undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: - { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} dev: true /unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} dev: true /unified@9.2.2: - resolution: - { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: '@types/unist': 2.0.8 bail: 1.0.5 @@ -16248,41 +14508,35 @@ packages: dev: true /unist-util-is@4.1.0: - resolution: - { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} dev: true /unist-util-stringify-position@2.0.3: - resolution: - { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.8 dev: true /unist-util-visit-parents@3.1.1: - resolution: - { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: true /universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-dgram@2.0.6: - resolution: - { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } - engines: { node: '>=0.10.48' } + resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} + engines: {node: '>=0.10.48'} requiresBuild: true dependencies: bindings: 1.5.0 @@ -16291,16 +14545,14 @@ packages: optional: true /unixify@1.0.0: - resolution: - { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: false /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16310,87 +14562,73 @@ packages: picocolors: 1.0.0 /update-section@0.3.3: - resolution: - { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} dev: true /upper-case-first@2.0.2: - resolution: - { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 /urlpattern-polyfill@8.0.2: - resolution: - { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false /util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: false /uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true /v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validate-npm-package-name@4.0.0: - resolution: - { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: - { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: - { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: - { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: '@types/unist': 2.0.8 is-buffer: 2.0.5 @@ -16399,9 +14637,8 @@ packages: dev: true /vite-node@1.5.2(@types/node@20.12.7): - resolution: - { integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 @@ -16421,9 +14658,8 @@ packages: dev: true /vite@5.2.10(@types/node@20.12.7): - resolution: - { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -16458,9 +14694,8 @@ packages: dev: true /vitest@1.5.2(@types/node@20.12.7): - resolution: - { integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16515,37 +14750,31 @@ packages: dev: true /vlq@0.2.3: - resolution: - { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true /wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.2.1: - resolution: - { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16555,23 +14784,20 @@ packages: dev: true /which-module@2.0.1: - resolution: - { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-pm@2.0.0: - resolution: - { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } - engines: { node: '>=8.15' } + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true /which-typed-array@1.1.11: - resolution: - { integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16581,34 +14807,30 @@ packages: dev: true /which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 /which@4.0.0: - resolution: - { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: - { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} hasBin: true dependencies: siginfo: 2.0.0 @@ -16616,53 +14838,46 @@ packages: dev: true /wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 dev: false /widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: - { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} /wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16670,9 +14885,8 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 @@ -16680,13 +14894,11 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /ws@7.5.9: - resolution: - { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16698,103 +14910,86 @@ packages: dev: true /xorshift@1.2.0: - resolution: - { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } + resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} dev: false /xtend@2.0.6: - resolution: - { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} + engines: {node: '>=0.4'} dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: - { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} + engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: - { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} dev: true /xtend@3.0.0: - resolution: - { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} + engines: {node: '>=0.4'} dev: true /xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /y18n@4.0.3: - resolution: - { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} /yallist@2.1.2: - resolution: - { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.3.4: - resolution: - { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} /yargs@15.4.1: - resolution: - { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16810,9 +15005,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -16824,9 +15018,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -16837,53 +15030,45 @@ packages: yargs-parser: 21.1.1 /yarn@1.22.22: - resolution: - { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true dev: false /yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} /yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} /yoga-layout-prebuilt@1.10.0: - resolution: - { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: - { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: - { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: true /zip-stream@4.1.1: - resolution: - { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -16891,9 +15076,8 @@ packages: dev: false /zip-stream@5.0.1: - resolution: - { integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 @@ -16901,8 +15085,7 @@ packages: dev: false /zod-to-json-schema@3.23.0(zod@3.23.4): - resolution: - { integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag== } + resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} peerDependencies: zod: ^3.23.3 dependencies: @@ -16910,10 +15093,8 @@ packages: dev: false /zod@3.23.4: - resolution: - { integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw== } + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} /zwitch@1.0.5: - resolution: - { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From 69fe795f18b7717f63a1ceec0ff1076076deac36 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 127/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From 37f188b9e1982c76e7f2b1465ec2bc8ce48a0a37 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 128/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From 7a271af61ca8a0f8342295863d1d3685e2b8c1c4 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 129/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 9615571c5c38692715835250209ef86eaefb4b88 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 130/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From eccaaa1163ce42b7994c42685d98fd5471a72cdd Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 131/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From 36133353e628a248df95435d5361672d1dc952f9 Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 132/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From 620e03841fa77941f8b86f2f03279379d9a875da Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 133/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 26027fc6695c87795a69050a1296a3410f0773d9 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 08:44:27 +0100 Subject: [PATCH 134/145] Start pre mode Signed-off-by: Alexis Rico --- .changeset/pre.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..80aba5e0e --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@xata.io/cli": "0.15.3", + "@xata.io/client": "0.28.2", + "@xata.io/codegen": "0.28.2", + "@xata.io/importer": "1.1.3", + "@xata.io/plugin-client-cache": "0.1.39", + "@xata.io/plugin-client-cloudflare": "0.0.38", + "@xata.io/drizzle": "0.0.13", + "@xata.io/kysely": "0.1.13", + "@xata.io/netlify": "0.1.23", + "@xata.io/plugin-client-opentelemetry": "0.2.37" + }, + "changesets": [] +} From 098a7eeeb4faa2442f27cd55f0adf76938b8d8f1 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 19 Dec 2023 10:27:46 +0100 Subject: [PATCH 135/145] Init version 1.0 Signed-off-by: Alexis Rico --- .changeset/violet-worms-develop.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .changeset/violet-worms-develop.md diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md new file mode 100644 index 000000000..353605dbd --- /dev/null +++ b/.changeset/violet-worms-develop.md @@ -0,0 +1,14 @@ +--- +'@xata.io/cli': major +'@xata.io/client': major +'@xata.io/codegen': major +'@xata.io/importer': major +'@xata.io/plugin-client-cache': major +'@xata.io/plugin-client-cloudflare': major +'@xata.io/drizzle': major +'@xata.io/kysely': major +'@xata.io/netlify': major +'@xata.io/plugin-client-opentelemetry': major +--- + +Version 1.0 From 5d550d92006a0c11b0659405cdcf8ad08a09b4a6 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Jan 2024 08:59:44 +0100 Subject: [PATCH 136/145] Make XataApiClient to use ES Proxies (#1287) --- .changeset/light-cycles-repair.md | 5 + cli/src/base.ts | 36 +- cli/src/commands/branch/create.ts | 5 +- cli/src/commands/branch/delete.ts | 2 +- cli/src/commands/branch/list.ts | 2 +- cli/src/commands/dbs/delete.ts | 2 +- cli/src/commands/dbs/list.ts | 4 +- cli/src/commands/dbs/rename.ts | 5 +- cli/src/commands/diff/index.ts | 18 +- cli/src/commands/import/csv.ts | 14 +- cli/src/commands/init/index.ts | 4 +- cli/src/commands/pull/index.ts | 20 +- cli/src/commands/push/index.ts | 37 +- cli/src/commands/random-data/index.ts | 8 +- cli/src/commands/rebase/index.ts | 13 +- cli/src/commands/schema/edit.ts | 7 +- cli/src/commands/schema/upload.ts | 12 +- cli/src/commands/workspace/create.ts | 2 +- cli/src/commands/workspace/delete.ts | 2 +- cli/src/migrations/pgroll.ts | 8 +- packages/client/src/api/client.test.ts | 26 + packages/client/src/api/client.ts | 2028 +----------------------- packages/client/src/util/types.ts | 8 + test/integration/query.test.ts | 14 +- test/integration/smoke.test.ts | 95 +- test/utils/setup.ts | 21 +- 26 files changed, 255 insertions(+), 2143 deletions(-) create mode 100644 .changeset/light-cycles-repair.md create mode 100644 packages/client/src/api/client.test.ts diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md new file mode 100644 index 000000000..61c123457 --- /dev/null +++ b/.changeset/light-cycles-repair.md @@ -0,0 +1,5 @@ +--- +"@xata.io/client": major +--- + +Make XataApiClient to use ES Proxies diff --git a/cli/src/base.ts b/cli/src/base.ts index d0fdb46b9..93860bf55 100644 --- a/cli/src/base.ts +++ b/cli/src/base.ts @@ -281,7 +281,7 @@ export abstract class BaseCommand extends Command { message: 'New workspace name' }); if (!name) return this.error('No workspace name provided'); - const workspace = await xata.api.workspaces.createWorkspace({ data: { name } }); + const workspace = await xata.api.workspaces.createWorkspace({ body: { name } }); return workspace.id; } else if (workspaces.workspaces.length === 1) { const workspace = workspaces.workspaces[0].id; @@ -309,7 +309,9 @@ export abstract class BaseCommand extends Command { options: { allowCreate?: boolean } = {} ): Promise<{ name: string; region: string }> { const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (dbs.length > 0) { const choices = dbs.map((db) => ({ @@ -355,7 +357,9 @@ export abstract class BaseCommand extends Command { } = {} ): Promise { const xata = await this.getXataClient(); - const { branches = [] } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches = [] } = await xata.api.branch.getBranchList({ + pathParams: { workspace, region, dbName: database } + }); const EMPTY_CHOICE = '$empty'; const CREATE_CHOICE = '$create'; @@ -421,7 +425,7 @@ export abstract class BaseCommand extends Command { ); if (!name) return this.error('No database name provided'); - const { regions } = await xata.api.database.listRegions({ workspace }); + const { regions } = await xata.api.databases.listRegions({ pathParams: { workspaceId: workspace } }); const { region } = await this.prompt( { type: 'select', @@ -434,7 +438,10 @@ export abstract class BaseCommand extends Command { ); if (!region) return this.error('No region selected'); - const result = await xata.api.database.createDatabase({ workspace, database: name, data: { region } }); + const result = await xata.api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: name }, + body: { region } + }); return { name: result.databaseName, region }; } @@ -455,9 +462,12 @@ export abstract class BaseCommand extends Command { }); if (!from) { - await xata.api.branches.createBranch({ workspace, region, database, branch: name }); + await xata.api.branch.createBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${name}` } }); } else { - await xata.api.branches.createBranch({ workspace, region, database, branch: name, from }); + await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${name}` }, + body: { from } + }); } return name; @@ -566,11 +576,8 @@ export abstract class BaseCommand extends Command { async deploySchema(workspace: string, region: string, database: string, branch: string, schema: Schemas.Schema) { const xata = await this.getXataClient(); const compare = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (compare.edits.operations.length === 0) { @@ -587,7 +594,10 @@ export abstract class BaseCommand extends Command { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits: compare.edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits: compare.edits } + }); } } diff --git a/cli/src/commands/branch/create.ts b/cli/src/commands/branch/create.ts index 3dac4c9c4..6d25500b7 100644 --- a/cli/src/commands/branch/create.ts +++ b/cli/src/commands/branch/create.ts @@ -32,7 +32,10 @@ export default class BranchCreate extends BaseCommand { const { from } = flags; try { - const result = await xata.api.branches.createBranch({ workspace, region, database, branch, from }); + const result = await xata.api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { from } + }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/branch/delete.ts b/cli/src/commands/branch/delete.ts index 1f865dfed..1b230a658 100644 --- a/cli/src/commands/branch/delete.ts +++ b/cli/src/commands/branch/delete.ts @@ -37,7 +37,7 @@ export default class BranchDelete extends BaseCommand { if (!confirm) return this.exit(1); if (confirm !== branch) return this.error('The branch name did not match'); - await xata.api.branches.deleteBranch({ workspace, region, database, branch }); + await xata.api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/branch/list.ts b/cli/src/commands/branch/list.ts index 2c32536e3..f1d3c603c 100644 --- a/cli/src/commands/branch/list.ts +++ b/cli/src/commands/branch/list.ts @@ -19,7 +19,7 @@ export default class BranchList extends BaseCommand { const { workspace, region, database } = await this.getParsedDatabaseURL(flags.db); const xata = await this.getXataClient(); - const { branches } = await xata.api.branches.getBranchList({ workspace, region, database }); + const { branches } = await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); if (this.jsonEnabled()) return branches; diff --git a/cli/src/commands/dbs/delete.ts b/cli/src/commands/dbs/delete.ts index 708a92bd4..a7a3302ff 100644 --- a/cli/src/commands/dbs/delete.ts +++ b/cli/src/commands/dbs/delete.ts @@ -39,7 +39,7 @@ export default class DatabasesDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.deleteDatabase({ workspace, database }); + await xata.api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/dbs/list.ts b/cli/src/commands/dbs/list.ts index bbcfdf8d5..104f7c5bf 100644 --- a/cli/src/commands/dbs/list.ts +++ b/cli/src/commands/dbs/list.ts @@ -25,7 +25,9 @@ export default class DatabasesList extends BaseCommand { (await this.getWorkspace()); const xata = await this.getXataClient(); - const { databases: dbs = [] } = await xata.api.database.getDatabaseList({ workspace }); + const { databases: dbs = [] } = await xata.api.databases.getDatabaseList({ + pathParams: { workspaceId: workspace } + }); if (this.jsonEnabled()) return dbs; diff --git a/cli/src/commands/dbs/rename.ts b/cli/src/commands/dbs/rename.ts index 0ce21e160..244ae83d2 100644 --- a/cli/src/commands/dbs/rename.ts +++ b/cli/src/commands/dbs/rename.ts @@ -43,7 +43,10 @@ export default class DatabasesRename extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== database) return this.error('The database name did not match'); - await xata.api.database.renameDatabase({ workspace, database, newName }); + await xata.api.databases.renameDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { newName } + }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts index a171ed9a6..e3d6ca7d4 100644 --- a/cli/src/commands/diff/index.ts +++ b/cli/src/commands/diff/index.ts @@ -2,6 +2,7 @@ import { Args } from '@oclif/core'; import { BaseCommand } from '../../base.js'; import { getLocalMigrationFiles } from '../../migrations/files.js'; import { buildMigrationDiff } from '../../utils/diff.js'; +import compact from 'lodash.compact'; export default class Diff extends BaseCommand { static description = 'Compare two local or remote branches'; @@ -34,24 +35,17 @@ export default class Diff extends BaseCommand { this.info(`Diff command is experimental, use with caution`); const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = localMigrationFiles.flatMap((migrationFile) => migrationFile.operations); + const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); const apiRequest = args.branch && args.base ? xata.api.migrations.compareBranchSchemas({ - workspace, - region, - database, - branch: args.branch, - compare: args.base + pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, + body: {} }) : xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema: { tables: [] }, - schemaOperations: schemaOperations as any + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema: { tables: [] }, schemaOperations } }); const { diff --git a/cli/src/commands/import/csv.ts b/cli/src/commands/import/csv.ts index 5ee9d6fbc..762d78b64 100644 --- a/cli/src/commands/import/csv.ts +++ b/cli/src/commands/import/csv.ts @@ -218,12 +218,10 @@ export default class ImportCSV extends BaseCommand { { name: table, columns: columns.filter((c) => c.name !== 'id') } ] }; + const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema: newSchema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema: newSchema } }); if (edits.operations.length > 0) { const destructiveOperations = edits.operations @@ -263,7 +261,11 @@ export default class ImportCSV extends BaseCommand { if (!applyMigrations) { process.exit(1); } - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } } diff --git a/cli/src/commands/init/index.ts b/cli/src/commands/init/index.ts index a26e643f3..8cf58939d 100644 --- a/cli/src/commands/init/index.ts +++ b/cli/src/commands/init/index.ts @@ -187,7 +187,7 @@ export default class Init extends BaseCommand { if (this.projectConfig?.codegen?.output) { const { schema: currentSchema } = await ( await this.getXataClient() - ).api.branches.getBranchDetails({ workspace, database, region, branch }); + ).api.branch.getBranchDetails({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); const hasTables = currentSchema?.tables && currentSchema?.tables.length > 0; const hasColumns = currentSchema?.tables.some((t) => t.columns.length > 0); @@ -434,7 +434,7 @@ export default class Init extends BaseCommand { let retries = 0; while (retries++ < maxRetries) { try { - await xata.api.branches.getBranchList({ workspace, region, database }); + await xata.api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); return; } catch (err) { if (err instanceof Error && err.message.includes('Invalid API key')) { diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0c51b45b0..0f43064fe 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,22 +53,18 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 4a2d3fb96..70f016906 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,22 +49,18 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branches.pgRollMigrationHistory({ - workspace, - region, - database, - branch + const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; } else { const data = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); logs = data.logs; } @@ -107,13 +103,9 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branches.applyMigration({ - workspace, - region, - database, - branch, - // @ts-expect-error Backend API spec doesn't know all pgroll migrations yet - migration + await xata.api.branch.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: migration }); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); @@ -123,11 +115,8 @@ export default class Push extends BaseCommand { } else { // TODO: Check for errors and print them await xata.api.migrations.pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations: newMigrations as Schemas.MigrationObject[] + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { migrations: newMigrations as Schemas.MigrationObject[] } }); } diff --git a/cli/src/commands/random-data/index.ts b/cli/src/commands/random-data/index.ts index 49c34bbb0..be7e434a1 100644 --- a/cli/src/commands/random-data/index.ts +++ b/cli/src/commands/random-data/index.ts @@ -52,12 +52,8 @@ export default class RandomData extends BaseCommand { const records = generateRandomData(table, totalRecords); await xata.api.records.bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table: table.name, - records + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table.name }, + body: { records: records as any[] } }); this.info( diff --git a/cli/src/commands/rebase/index.ts b/cli/src/commands/rebase/index.ts index 20d7c9824..c23aba2e6 100644 --- a/cli/src/commands/rebase/index.ts +++ b/cli/src/commands/rebase/index.ts @@ -37,13 +37,12 @@ export default class Rebase extends BaseCommand { this.info(`Rebase command is experimental, use with caution`); const { logs } = await xata.api.migrations.getBranchSchemaHistory({ - workspace, - region, - database, - branch, - // TODO: Fix pagination in the API to start from last known migration and not from the beginning - // Also paginate until we get all migrations - page: { size: 200 } + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { + // TODO: Fix pagination in the API to start from last known migration and not from the beginning + // Also paginate until we get all migrations + page: { size: 200 } + } }); const remoteMigrationFiles = commitToMigrationFile(logs); diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index eddb5f20b..3d2ef7277 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -807,11 +807,8 @@ vectorDimension: \${vectorDimension} } await xata.api.migrations.applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } }); this.success('Migration completed!'); diff --git a/cli/src/commands/schema/upload.ts b/cli/src/commands/schema/upload.ts index ca9d016f2..e91e83487 100644 --- a/cli/src/commands/schema/upload.ts +++ b/cli/src/commands/schema/upload.ts @@ -49,11 +49,8 @@ export default class UploadSchema extends BaseCommand { } const { edits } = await xata.api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { schema } }); if (edits.operations.length === 0) { @@ -72,6 +69,9 @@ export default class UploadSchema extends BaseCommand { }); if (!confirm) return this.exit(1); - await xata.api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch, edits }); + await xata.api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, + body: { edits } + }); } } diff --git a/cli/src/commands/workspace/create.ts b/cli/src/commands/workspace/create.ts index 0c7bf3541..de24b4960 100644 --- a/cli/src/commands/workspace/create.ts +++ b/cli/src/commands/workspace/create.ts @@ -26,7 +26,7 @@ export default class WorkspaceCreate extends BaseCommand const xata = await this.getXataClient(); - const result = await xata.api.workspaces.createWorkspace({ data: { name: workspace } }); + const result = await xata.api.workspaces.createWorkspace({ body: { name: workspace } }); if (this.jsonEnabled()) return result; diff --git a/cli/src/commands/workspace/delete.ts b/cli/src/commands/workspace/delete.ts index 02763e73a..719f2bd9b 100644 --- a/cli/src/commands/workspace/delete.ts +++ b/cli/src/commands/workspace/delete.ts @@ -35,7 +35,7 @@ export default class WorkspaceDelete extends BaseCommand if (!confirm) return this.exit(1); if (confirm !== workspace) return this.error('The workspace name did not match'); - await xata.api.workspaces.deleteWorkspace({ workspace }); + await xata.api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); if (this.jsonEnabled()) return {}; diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 591a5d39e..4028d220c 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -79,10 +79,14 @@ export async function getBranchDetailsWithPgRoll( xata: XataClient, { workspace, region, database, branch }: { workspace: string; region: string; database: string; branch: string } ): Promise { - const details = await xata.api.branches.getBranchDetails({ workspace, region, database, branch }); + const details = await xata.api.branch.getBranchDetails({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); if (isBranchPgRollEnabled(details)) { - const pgroll = await xata.api.migrations.getSchema({ workspace, region, database, branch }); + const pgroll = await xata.api.migrations.getSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } + }); return { ...details, diff --git a/packages/client/src/api/client.test.ts b/packages/client/src/api/client.test.ts new file mode 100644 index 000000000..b6ac59138 --- /dev/null +++ b/packages/client/src/api/client.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, test } from 'vitest'; +import { XataApiClient } from './client'; +import { operationsByTag } from './components'; + +const xata = new XataApiClient({ apiKey: 'fake-api-key' }); + +describe('API Proxy types', () => { + test('returns functions for all defined namespace operations', () => { + for (const namespace of Object.keys(operationsByTag)) { + const operationsInNamespace = operationsByTag[namespace as keyof typeof operationsByTag]; + for (const operation of Object.keys(operationsInNamespace)) { + expect(operationsInNamespace[operation as keyof typeof operationsInNamespace]).toBeInstanceOf(Function); + } + } + }); + + test('returns undefined for undefined namespaces', () => { + // @ts-expect-error Not a valid namespace + expect(xata.undefinedNamespace).toBeUndefined(); + }); + + test('returns undefined for undefined namespace operations', () => { + // @ts-expect-error Not a valid operation + expect(xata.authentication.undefinedOperation).toBeUndefined(); + }); +}); diff --git a/packages/client/src/api/client.ts b/packages/client/src/api/client.ts index cd7ddc9e6..67eb2c989 100644 --- a/packages/client/src/api/client.ts +++ b/packages/client/src/api/client.ts @@ -1,14 +1,11 @@ import { defaultTrace, TraceFunction } from '../schema/tracing'; import { getAPIKey } from '../util/environment'; import { FetchImpl, getFetchImplementation } from '../util/fetch'; +import { RequiredKeys } from '../util/types'; import { generateUUID } from '../util/uuid'; -import type * as Components from './components'; -import type * as Types from './components'; import { operationsByTag } from './components'; import type { FetcherExtraProps } from './fetcher'; import { getHostUrl, HostProvider } from './providers'; -import type * as Responses from './responses'; -import type * as Schemas from './schemas'; export type ApiExtraProps = Omit; @@ -21,1961 +18,72 @@ export interface XataApiClientOptions { xataAgentExtra?: Record; } -export class XataApiClient { - #extraProps: ApiExtraProps; - #namespaces: Partial<{ - user: UserApi; - authentication: AuthenticationApi; - workspaces: WorkspaceApi; - invites: InvitesApi; - database: DatabaseApi; - branches: BranchApi; - migrations: MigrationsApi; - migrationRequests: MigrationRequestsApi; - tables: TableApi; - records: RecordsApi; - files: FilesApi; - searchAndFilter: SearchAndFilterApi; - }> = {}; - - constructor(options: XataApiClientOptions = {}) { - const provider = options.host ?? 'production'; - const apiKey = options.apiKey ?? getAPIKey(); - const trace = options.trace ?? defaultTrace; - const clientID = generateUUID(); - - if (!apiKey) { - throw new Error('Could not resolve a valid apiKey'); - } - - this.#extraProps = { - apiUrl: getHostUrl(provider, 'main'), - workspacesApiUrl: getHostUrl(provider, 'workspaces'), - fetch: getFetchImplementation(options.fetch), - apiKey, - trace, - clientName: options.clientName, - xataAgentExtra: options.xataAgentExtra, - clientID - }; - } - - public get user() { - if (!this.#namespaces.user) this.#namespaces.user = new UserApi(this.#extraProps); - return this.#namespaces.user; - } - - public get authentication() { - if (!this.#namespaces.authentication) this.#namespaces.authentication = new AuthenticationApi(this.#extraProps); - return this.#namespaces.authentication; - } - - public get workspaces() { - if (!this.#namespaces.workspaces) this.#namespaces.workspaces = new WorkspaceApi(this.#extraProps); - return this.#namespaces.workspaces; - } - - public get invites() { - if (!this.#namespaces.invites) this.#namespaces.invites = new InvitesApi(this.#extraProps); - return this.#namespaces.invites; - } - - public get database() { - if (!this.#namespaces.database) this.#namespaces.database = new DatabaseApi(this.#extraProps); - return this.#namespaces.database; - } - - public get branches() { - if (!this.#namespaces.branches) this.#namespaces.branches = new BranchApi(this.#extraProps); - return this.#namespaces.branches; - } - - public get migrations() { - if (!this.#namespaces.migrations) this.#namespaces.migrations = new MigrationsApi(this.#extraProps); - return this.#namespaces.migrations; - } - - public get migrationRequests() { - if (!this.#namespaces.migrationRequests) - this.#namespaces.migrationRequests = new MigrationRequestsApi(this.#extraProps); - return this.#namespaces.migrationRequests; - } - - public get tables() { - if (!this.#namespaces.tables) this.#namespaces.tables = new TableApi(this.#extraProps); - return this.#namespaces.tables; - } - - public get records() { - if (!this.#namespaces.records) this.#namespaces.records = new RecordsApi(this.#extraProps); - return this.#namespaces.records; - } - - public get files() { - if (!this.#namespaces.files) this.#namespaces.files = new FilesApi(this.#extraProps); - return this.#namespaces.files; - } - - public get searchAndFilter() { - if (!this.#namespaces.searchAndFilter) this.#namespaces.searchAndFilter = new SearchAndFilterApi(this.#extraProps); - return this.#namespaces.searchAndFilter; - } -} - -class UserApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUser(): Promise { - return operationsByTag.users.getUser({ ...this.extraProps }); - } - - public updateUser({ user }: { user: Schemas.User }): Promise { - return operationsByTag.users.updateUser({ body: user, ...this.extraProps }); - } - - public deleteUser(): Promise { - return operationsByTag.users.deleteUser({ ...this.extraProps }); - } -} - -class AuthenticationApi { - constructor(private extraProps: ApiExtraProps) {} - - public getUserAPIKeys(): Promise { - return operationsByTag.authentication.getUserAPIKeys({ ...this.extraProps }); - } - - public createUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.createUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } - - public deleteUserAPIKey({ name }: { name: Schemas.APIKeyName }): Promise { - return operationsByTag.authentication.deleteUserAPIKey({ - pathParams: { keyName: name }, - ...this.extraProps - }); - } -} - -class WorkspaceApi { - constructor(private extraProps: ApiExtraProps) {} - - public getWorkspacesList(): Promise { - return operationsByTag.workspaces.getWorkspacesList({ ...this.extraProps }); - } - - public createWorkspace({ data }: { data: Schemas.WorkspaceMeta }): Promise { - return operationsByTag.workspaces.createWorkspace({ - body: data, - ...this.extraProps - }); - } - - public getWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspace({ - workspace, - update - }: { - workspace: Schemas.WorkspaceID; - update: Schemas.WorkspaceMeta; - }): Promise { - return operationsByTag.workspaces.updateWorkspace({ - pathParams: { workspaceId: workspace }, - body: update, - ...this.extraProps - }); - } - - public deleteWorkspace({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.deleteWorkspace({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public getWorkspaceMembersList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.workspaces.getWorkspaceMembersList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberRole({ - workspace, - user, - role - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - role: Schemas.Role; - }): Promise { - return operationsByTag.workspaces.updateWorkspaceMemberRole({ - pathParams: { workspaceId: workspace, userId: user }, - body: { role }, - ...this.extraProps - }); - } - - public removeWorkspaceMember({ - workspace, - user - }: { - workspace: Schemas.WorkspaceID; - user: Schemas.UserID; - }): Promise { - return operationsByTag.workspaces.removeWorkspaceMember({ - pathParams: { workspaceId: workspace, userId: user }, - ...this.extraProps - }); - } -} - -class InvitesApi { - constructor(private extraProps: ApiExtraProps) {} - - public inviteWorkspaceMember({ - workspace, - email, - role - }: { - workspace: Schemas.WorkspaceID; - email: string; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.inviteWorkspaceMember({ - pathParams: { workspaceId: workspace }, - body: { email, role }, - ...this.extraProps - }); - } - - public updateWorkspaceMemberInvite({ - workspace, - invite, - role - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - role: Schemas.Role; - }): Promise { - return operationsByTag.invites.updateWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - body: { role }, - ...this.extraProps - }); - } - - public cancelWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.cancelWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } - - public acceptWorkspaceMemberInvite({ - workspace, - key - }: { - workspace: Schemas.WorkspaceID; - key: Schemas.InviteKey; - }): Promise { - return operationsByTag.invites.acceptWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteKey: key }, - ...this.extraProps - }); - } - - public resendWorkspaceMemberInvite({ - workspace, - invite - }: { - workspace: Schemas.WorkspaceID; - invite: Schemas.InviteID; - }): Promise { - return operationsByTag.invites.resendWorkspaceMemberInvite({ - pathParams: { workspaceId: workspace, inviteId: invite }, - ...this.extraProps - }); - } -} - -class BranchApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchList({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getBranchList({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public getBranchDetails({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchDetails({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public createBranch({ - workspace, - region, - database, - branch, - from, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - from?: string; - metadata?: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.createBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { from, metadata }, - ...this.extraProps - }); - } - - public deleteBranch({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.deleteBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public copyBranch({ - workspace, - region, - database, - branch, - destinationBranch, - limit - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - destinationBranch: Schemas.BranchName; - limit?: number; - }): Promise { - return operationsByTag.branch.copyBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { destinationBranch, limit }, - ...this.extraProps - }); - } - - public updateBranchMetadata({ - workspace, - region, - database, - branch, - metadata - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - metadata: Schemas.BranchMetadata; - }): Promise { - return operationsByTag.branch.updateBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: metadata, - ...this.extraProps - }); - } - - public getBranchMetadata({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchMetadata({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getBranchStats({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.getBranchStats({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public getGitBranchesMapping({ - workspace, - region, - database - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - }): Promise { - return operationsByTag.branch.getGitBranchesMapping({ - pathParams: { workspace, region, dbName: database }, - ...this.extraProps - }); - } - - public addGitBranchesEntry({ - workspace, - region, - database, - gitBranch, - xataBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - xataBranch: Schemas.BranchName; - }): Promise { - return operationsByTag.branch.addGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - body: { gitBranch, xataBranch }, - ...this.extraProps - }); - } - - public removeGitBranchesEntry({ - workspace, - region, - database, - gitBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch: string; - }): Promise { - return operationsByTag.branch.removeGitBranchesEntry({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch }, - ...this.extraProps - }); - } - - public resolveBranch({ - workspace, - region, - database, - gitBranch, - fallbackBranch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - gitBranch?: string; - fallbackBranch?: string; - }): Promise { - return operationsByTag.branch.resolveBranch({ - pathParams: { workspace, region, dbName: database }, - queryParams: { gitBranch, fallbackBranch }, - ...this.extraProps - }); - } - - public pgRollMigrationHistory({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } - - public applyMigration({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.applyMigration({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } -} - -class TableApi { - constructor(private extraProps: ApiExtraProps) {} - - public createTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public deleteTable({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.deleteTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public updateTable({ - workspace, - region, - database, - branch, - table, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - update: Types.UpdateTableRequestBody; - }): Promise { - return operationsByTag.table.updateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: update, - ...this.extraProps - }); - } - - public getTableSchema({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public setTableSchema({ - workspace, - region, - database, - branch, - table, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - schema: Types.SetTableSchemaRequestBody; - }): Promise { - return operationsByTag.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: schema, - ...this.extraProps - }); - } - - public getTableColumns({ - workspace, - region, - database, - branch, - table - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - }): Promise { - return operationsByTag.table.getTableColumns({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - ...this.extraProps - }); - } - - public addTableColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.Column; - }): Promise { - return operationsByTag.table.addTableColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: column, - ...this.extraProps - }); - } - - public getColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.getColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } - - public updateColumn({ - workspace, - region, - database, - branch, - table, - column, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - update: Types.UpdateColumnRequestBody; - }): Promise { - return operationsByTag.table.updateColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - body: update, - ...this.extraProps - }); - } - - public deleteColumn({ - workspace, - region, - database, - branch, - table, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.table.deleteColumn({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, columnName: column }, - ...this.extraProps - }); - } -} - -class RecordsApi { - constructor(private extraProps: ApiExtraProps) {} - - public insertRecord({ - workspace, - region, - database, - branch, - table, - record, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Record; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.insertRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: record, - ...this.extraProps - }); - } - - public getRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.getRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public insertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - createOnly, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - createOnly?: boolean; - ifVersion?: number; - }): Promise { - return operationsByTag.records.insertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, createOnly, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public updateRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.updateRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public upsertRecordWithID({ - workspace, - region, - database, - branch, - table, - id, - record, - columns, - ifVersion - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - record: Record; - columns?: Schemas.ColumnsProjection; - ifVersion?: number; - }): Promise { - return operationsByTag.records.upsertRecordWithID({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns, ifVersion }, - body: record, - ...this.extraProps - }); - } - - public deleteRecord({ - workspace, - region, - database, - branch, - table, - id, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - id: Schemas.RecordID; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.deleteRecord({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, recordId: id }, - queryParams: { columns }, - ...this.extraProps - }); - } - - public bulkInsertTableRecords({ - workspace, - region, - database, - branch, - table, - records, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - records: Record[]; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.records.bulkInsertTableRecords({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - queryParams: { columns }, - body: { records }, - ...this.extraProps - }); - } - - public branchTransaction({ - workspace, - region, - database, - branch, - operations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - operations: Schemas.TransactionOperation[]; - }): Promise { - return operationsByTag.records.branchTransaction({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { operations }, - ...this.extraProps - }); - } -} - -class FilesApi { - constructor(private extraProps: ApiExtraProps) {} - - public getFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.getFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public putFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - file: any; - }): Promise { - return operationsByTag.files.putFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - // @ts-ignore - body: file, - ...this.extraProps - }); - } - - public deleteFileItem({ - workspace, - region, - database, - branch, - table, - record, - column, - fileId - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - fileId: string; - }): Promise { - return operationsByTag.files.deleteFileItem({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column, - fileId - }, - ...this.extraProps - }); - } - - public getFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.getFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public putFile({ - workspace, - region, - database, - branch, - table, - record, - column, - file - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - file: Blob; - }): Promise { - return operationsByTag.files.putFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - body: file, - ...this.extraProps - }); - } - - public deleteFile({ - workspace, - region, - database, - branch, - table, - record, - column - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - record: Schemas.RecordID; - column: Schemas.ColumnName; - }): Promise { - return operationsByTag.files.deleteFile({ - pathParams: { - workspace, - region, - dbBranchName: `${database}:${branch}`, - tableName: table, - recordId: record, - columnName: column - }, - ...this.extraProps - }); - } - - public fileAccess({ - workspace, - region, - fileId, - verify - }: { - workspace: Schemas.WorkspaceID; - region: string; - fileId: string; - verify?: Schemas.FileSignature; - }): Promise { - return operationsByTag.files.fileAccess({ - pathParams: { - workspace, - region, - fileId - }, - queryParams: { verify }, - ...this.extraProps - }); - } -} - -class SearchAndFilterApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryTable({ - workspace, - region, - database, - branch, - table, - filter, - sort, - page, - columns, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.queryTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, sort, page, columns, consistency }, - ...this.extraProps - }); - } - - public searchTable({ - workspace, - region, - database, - branch, - table, - query, - fuzziness, - target, - prefix, - filter, - highlight, - boosters - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - target?: Schemas.TargetExpression; - prefix?: Schemas.PrefixExpression; - filter?: Schemas.FilterExpression; - highlight?: Schemas.HighlightExpression; - boosters?: Schemas.BoosterExpression[]; - }): Promise { - return operationsByTag.searchAndFilter.searchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { query, fuzziness, target, prefix, filter, highlight, boosters }, - ...this.extraProps - }); - } - - public searchBranch({ - workspace, - region, - database, - branch, - tables, - query, - fuzziness, - prefix, - highlight - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - tables?: ( - | string - | { - table: string; - filter?: Schemas.FilterExpression; - target?: Schemas.TargetExpression; - boosters?: Schemas.BoosterExpression[]; +type UserProps = { + headers?: Record; +}; + +type XataApiProxy = { + [Tag in keyof typeof operationsByTag]: { + [Method in keyof (typeof operationsByTag)[Tag]]: (typeof operationsByTag)[Tag][Method] extends infer Operation extends ( + ...args: any + ) => any + ? Omit[0], keyof ApiExtraProps> extends infer Params + ? RequiredKeys extends never + ? (params?: Params & UserProps) => ReturnType + : (params: Params & UserProps) => ReturnType + : never + : never; + }; +}; + +const buildApiClient = () => + class { + constructor(options: XataApiClientOptions = {}) { + const provider = options.host ?? 'production'; + const apiKey = options.apiKey ?? getAPIKey(); + const trace = options.trace ?? defaultTrace; + const clientID = generateUUID(); + + if (!apiKey) { + throw new Error('Could not resolve a valid apiKey'); + } + + const extraProps: ApiExtraProps = { + apiUrl: getHostUrl(provider, 'main'), + workspacesApiUrl: getHostUrl(provider, 'workspaces'), + fetch: getFetchImplementation(options.fetch), + apiKey, + trace, + clientName: options.clientName, + xataAgentExtra: options.xataAgentExtra, + clientID + }; + + return new Proxy(this, { + get: (_target, namespace: keyof typeof operationsByTag) => { + if (operationsByTag[namespace] === undefined) { + return undefined; + } + + return new Proxy( + {}, + { + get: (_target, operation: keyof (typeof operationsByTag)[keyof typeof operationsByTag]) => { + if (operationsByTag[namespace][operation] === undefined) { + return undefined; + } + + const method = operationsByTag[namespace][operation] as any; + + return async (params: Record) => { + return await method({ ...params, ...extraProps }); + }; + } + } + ); } - )[]; - query: string; - fuzziness?: Schemas.FuzzinessExpression; - prefix?: Schemas.PrefixExpression; - highlight?: Schemas.HighlightExpression; - }): Promise { - return operationsByTag.searchAndFilter.searchBranch({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { tables, query, fuzziness, prefix, highlight }, - ...this.extraProps - }); - } - - public vectorSearchTable({ - workspace, - region, - database, - branch, - table, - queryVector, - column, - similarityFunction, - size, - filter - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - queryVector: number[]; - column: string; - similarityFunction?: string; - size?: number; - filter?: Schemas.FilterExpression; - }): Promise { - return operationsByTag.searchAndFilter.vectorSearchTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { queryVector, column, similarityFunction, size, filter }, - ...this.extraProps - }); - } - - public askTable({ - workspace, - region, - database, - branch, - table, - options - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - options: Components.AskTableRequestBody; - }): Promise { - return operationsByTag.searchAndFilter.askTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { ...options }, - ...this.extraProps - }); - } - - public askTableSession({ - workspace, - region, - database, - branch, - table, - sessionId, - message - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - sessionId: string; - message: string; - }): Promise { - return operationsByTag.searchAndFilter.askTableSession({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table, sessionId }, - body: { message }, - ...this.extraProps - }); - } - - public summarizeTable({ - workspace, - region, - database, - branch, - table, - filter, - columns, - summaries, - sort, - summariesFilter, - page, - consistency - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - columns?: Schemas.ColumnsProjection; - summaries?: Schemas.SummaryExpressionList; - sort?: Schemas.SortExpression; - summariesFilter?: Schemas.FilterExpression; - page?: { size?: number }; - consistency?: 'strong' | 'eventual'; - }): Promise { - return operationsByTag.searchAndFilter.summarizeTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, columns, summaries, sort, summariesFilter, page, consistency }, - ...this.extraProps - }); - } - - public aggregateTable({ - workspace, - region, - database, - branch, - table, - filter, - aggs - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - table: Schemas.TableName; - filter?: Schemas.FilterExpression; - aggs?: Schemas.AggExpressionMap; - }): Promise { - return operationsByTag.searchAndFilter.aggregateTable({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, tableName: table }, - body: { filter, aggs }, - ...this.extraProps - }); - } -} - -class MigrationRequestsApi { - constructor(private extraProps: ApiExtraProps) {} - - public queryMigrationRequests({ - workspace, - region, - database, - filter, - sort, - page, - columns - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - filter?: Schemas.FilterExpression; - sort?: Schemas.SortExpression; - page?: Schemas.PageConfig; - columns?: Schemas.ColumnsProjection; - }): Promise { - return operationsByTag.migrationRequests.queryMigrationRequests({ - pathParams: { workspace, region, dbName: database }, - body: { filter, sort, page, columns }, - ...this.extraProps - }); - } - - public createMigrationRequest({ - workspace, - region, - database, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migration: Components.CreateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.createMigrationRequest({ - pathParams: { workspace, region, dbName: database }, - body: migration, - ...this.extraProps - }); - } - - public getMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public updateMigrationRequest({ - workspace, - region, - database, - migrationRequest, - update - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - update: Components.UpdateMigrationRequestRequestBody; - }): Promise { - return operationsByTag.migrationRequests.updateMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: update, - ...this.extraProps - }); - } - - public listMigrationRequestsCommits({ - workspace, - region, - database, - migrationRequest, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrationRequests.listMigrationRequestsCommits({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - body: { page }, - ...this.extraProps - }); - } - - public compareMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.compareMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public getMigrationRequestIsMerged({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.getMigrationRequestIsMerged({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } - - public mergeMigrationRequest({ - workspace, - region, - database, - migrationRequest - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - migrationRequest: Schemas.MigrationRequestNumber; - }): Promise { - return operationsByTag.migrationRequests.mergeMigrationRequest({ - pathParams: { workspace, region, dbName: database, mrNumber: migrationRequest }, - ...this.extraProps - }); - } -} - -class MigrationsApi { - constructor(private extraProps: ApiExtraProps) {} - - public getBranchMigrationHistory({ - workspace, - region, - database, - branch, - limit, - startFrom - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - limit?: number; - startFrom?: string; - }): Promise { - return operationsByTag.migrations.getBranchMigrationHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { limit, startFrom }, - ...this.extraProps - }); - } - - public getBranchMigrationPlan({ - workspace, - region, - database, - branch, - schema - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - }): Promise { - return operationsByTag.migrations.getBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: schema, - ...this.extraProps - }); - } - - public executeBranchMigrationPlan({ - workspace, - region, - database, - branch, - plan - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - plan: Types.ExecuteBranchMigrationPlanRequestBody; - }): Promise { - return operationsByTag.migrations.executeBranchMigrationPlan({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: plan, - ...this.extraProps - }); - } - - public getBranchSchemaHistory({ - workspace, - region, - database, - branch, - page - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - page?: { after?: string; before?: string; size?: number }; - }): Promise { - return operationsByTag.migrations.getBranchSchemaHistory({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { page }, - ...this.extraProps - }); - } - - public compareBranchWithUserSchema({ - workspace, - region, - database, - branch, - schema, - schemaOperations, - branchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - schema: Schemas.Schema; - schemaOperations?: Schemas.MigrationOp[]; - branchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema, schemaOperations, branchOperations }, - ...this.extraProps - }); - } - - public compareBranchSchemas({ - workspace, - region, - database, - branch, - compare, - sourceBranchOperations, - targetBranchOperations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - compare: Schemas.BranchName; - sourceBranchOperations?: Schemas.MigrationOp[]; - targetBranchOperations?: Schemas.MigrationOp[]; - }): Promise { - return operationsByTag.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, branchName: compare }, - body: { sourceBranchOperations, targetBranchOperations }, - ...this.extraProps - }); - } - - public updateBranchSchema({ - workspace, - region, - database, - branch, - migration - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migration: Schemas.Migration; - }): Promise { - return operationsByTag.migrations.updateBranchSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: migration, - ...this.extraProps - }); - } - - public previewBranchSchemaEdit({ - workspace, - region, - database, - branch, - data - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - data: { edits?: Schemas.SchemaEditScript }; - }): Promise { - return operationsByTag.migrations.previewBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: data, - ...this.extraProps - }); - } - - public applyBranchSchemaEdit({ - workspace, - region, - database, - branch, - edits - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - edits: Schemas.SchemaEditScript; - }): Promise { - return operationsByTag.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { edits }, - ...this.extraProps - }); - } - - public pushBranchMigrations({ - workspace, - region, - database, - branch, - migrations - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - migrations: Schemas.MigrationObject[]; - }): Promise { - return operationsByTag.migrations.pushBranchMigrations({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { migrations }, - ...this.extraProps - }); - } - - public getSchema({ - workspace, - region, - database, - branch - }: { - workspace: Schemas.WorkspaceID; - region: string; - database: Schemas.DBName; - branch: Schemas.BranchName; - }): Promise { - return operationsByTag.migrations.getSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - ...this.extraProps - }); - } -} - -class DatabaseApi { - constructor(private extraProps: ApiExtraProps) {} - - public getDatabaseList({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.getDatabaseList({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } - - public createDatabase({ - workspace, - database, - data, - headers - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - data: Components.CreateDatabaseRequestBody; - headers?: Record; - }): Promise { - return operationsByTag.databases.createDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: data, - headers, - ...this.extraProps - }); - } - - public deleteDatabase({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public getDatabaseMetadata({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseMetadata({ - workspace, - database, - metadata - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - metadata: Schemas.DatabaseMetadata; - }): Promise { - return operationsByTag.databases.updateDatabaseMetadata({ - pathParams: { workspaceId: workspace, dbName: database }, - body: metadata, - ...this.extraProps - }); - } - - public renameDatabase({ - workspace, - database, - newName - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - newName: Schemas.DBName; - }): Promise { - return operationsByTag.databases.renameDatabase({ - pathParams: { workspaceId: workspace, dbName: database }, - body: { newName }, - ...this.extraProps - }); - } - - public getDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.getDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } - - public updateDatabaseGithubSettings({ - workspace, - database, - settings - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - settings: Schemas.DatabaseGithubSettings; - }): Promise { - return operationsByTag.databases.updateDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - body: settings, - ...this.extraProps - }); - } - - public deleteDatabaseGithubSettings({ - workspace, - database - }: { - workspace: Schemas.WorkspaceID; - database: Schemas.DBName; - }): Promise { - return operationsByTag.databases.deleteDatabaseGithubSettings({ - pathParams: { workspaceId: workspace, dbName: database }, - ...this.extraProps - }); - } + }); + } + } as unknown as { new (options?: XataApiClientOptions): XataApiProxy }; - public listRegions({ workspace }: { workspace: Schemas.WorkspaceID }): Promise { - return operationsByTag.databases.listRegions({ - pathParams: { workspaceId: workspace }, - ...this.extraProps - }); - } -} +export class XataApiClient extends buildApiClient() {} diff --git a/packages/client/src/util/types.ts b/packages/client/src/util/types.ts index 95c0bc8c0..7fc3d8b63 100644 --- a/packages/client/src/util/types.ts +++ b/packages/client/src/util/types.ts @@ -65,3 +65,11 @@ type Narrowable = string | number | bigint | boolean; type Try = A1 extends A2 ? A1 : Catch; export type Narrow = Try>; + +export type RequiredKeys = { + [K in keyof T]-?: {} extends Pick ? never : K; +}[keyof T]; + +export type FlattenObject = { + [K in keyof T]: T[K]; +}[keyof T]; diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index 60af5c885..a1bb91d08 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -610,14 +610,12 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.tables.createTable({ workspace, region, database, branch: 'main', table: 'planes' }); - await api.tables.setTableSchema({ - workspace, - region, - database, - branch: 'main', - table: 'planes', - schema: { columns: [{ name: 'name', type: 'string' }] } + await api.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } + }); + await api.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, + body: { columns: [{ name: 'name', type: 'string' }] } }); const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index c77ba8a6d..f7f2d59c6 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -22,7 +22,7 @@ describe('API Client Integration Tests', () => { test('Create, get and delete workspace with new apiKey', async () => { const workspaceName = getWorkspaceName(); - const newApiKey = await api.authentication.createUserAPIKey({ name: `${workspaceName}-key` }); + const newApiKey = await api.authentication.createUserAPIKey({ pathParams: { keyName: `${workspaceName}-key` } }); expect(newApiKey).toBeDefined(); expect(newApiKey.name).toBe(`${workspaceName}-key`); @@ -31,7 +31,7 @@ describe('API Client Integration Tests', () => { const newApi = new XataApiClient({ apiKey: newApiKey.key, host }); const { id: workspace, name } = await newApi.workspaces.createWorkspace({ - data: { name: workspaceName, slug: `${workspaceName}-slug` } + body: { name: workspaceName, slug: `${workspaceName}-slug` } }); await waitForReplication(newApi, workspace); @@ -41,57 +41,47 @@ describe('API Client Integration Tests', () => { console.log('Created workspace', workspace); - const foo = await newApi.workspaces.getWorkspace({ workspace }); + const foo = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(foo.id).toBe(workspace); expect(foo.slug).toBe(`${workspaceName}-slug`); - const bar = await newApi.workspaces.getWorkspace({ workspace }); + const bar = await newApi.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } }); expect(bar.id).toBe(workspace); expect(bar.slug).toBe(`${workspaceName}-slug`); - const { databaseName: database } = await newApi.database.createDatabase({ - workspace, - database: `data-${workspace}`, - data: { region } + const { databaseName: database } = await newApi.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `data-${workspace}` }, + body: { region } }); await waitForReplication(newApi, workspace, database); console.log('Created database', database); - await newApi.branches.createBranch({ workspace, region, database, branch: 'branch' }); - await newApi.tables.createTable({ workspace, region, database, branch: 'branch', table: 'table' }); - await newApi.tables.setTableSchema({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - schema: { columns: [{ name: 'email', type: 'string' }] } + await newApi.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:branch` } + }); + await newApi.table.createTable({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' } + }); + await newApi.table.setTableSchema({ + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { columns: [{ name: 'email', type: 'string' }] } }); console.log('Created branch, table and schema'); const { id } = await newApi.records.insertRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - record: { email: 'example@foo.bar' } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { email: 'example@foo.bar' } }); console.log('Created record', id); const record = await newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); expect(record.id).toBeDefined(); @@ -100,24 +90,16 @@ describe('API Client Integration Tests', () => { await waitForSearchIndexing(newApi, workspace, database); const search = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'example' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'example' } }); expect(search.totalCount).toEqual(1); expect(search.records[0].id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - query: 'random' + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { query: 'random' } }); expect(failedSearch.totalCount).toEqual(0); @@ -125,37 +107,32 @@ describe('API Client Integration Tests', () => { console.log('Tested search successfully'); - await api.authentication.deleteUserAPIKey({ name: newApiKey.name }); + await api.authentication.deleteUserAPIKey({ pathParams: { keyName: newApiKey.name } }); await waitFailInReplication(newApi, workspace, database); await expect( newApi.records.getRecord({ - workspace, - region, - database, - branch: 'branch', - table: 'table', - id + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }) ).rejects.toHaveProperty('message'); console.log('Deleted API key, record is no longer accessible'); - await api.workspaces.deleteWorkspace({ workspace }); - - await expect(api.workspaces.getWorkspace({ workspace })).rejects.toHaveProperty('message'); + await api.workspaces.deleteWorkspace({ pathParams: { workspaceId: workspace } }); - console.log('Deleted workspace, workspace is no longer accessible'); + await expect(api.workspaces.getWorkspace({ pathParams: { workspaceId: workspace } })).rejects.toHaveProperty( + 'message' + ); }); }); async function waitForReplication(api: XataApiClient, workspace: string, database?: string): Promise { try { if (database === undefined) { - await api.database.getDatabaseList({ workspace }); + await api.databases.getDatabaseList({ pathParams: { workspaceId: workspace } }); } else { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); } } catch (error) { console.log(`Waiting for create ${database === undefined ? 'API key' : 'database'} replication to finish...`); @@ -166,7 +143,7 @@ async function waitForReplication(api: XataApiClient, workspace: string, databas async function waitFailInReplication(api: XataApiClient, workspace: string, database: string): Promise { try { - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, region, dbName: database } }); console.log(`Waiting for delete API key replication to finish...`); await new Promise((resolve) => setTimeout(resolve, 2000)); @@ -179,12 +156,8 @@ async function waitFailInReplication(api: XataApiClient, workspace: string, data async function waitForSearchIndexing(api: XataApiClient, workspace: string, database: string): Promise { try { const { aggs } = await api.searchAndFilter.aggregateTable({ - workspace, - database, - region, - branch: 'branch', - table: 'table', - aggs: { total: { count: '*' } } + pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, + body: { aggs: { total: { count: '*' } } } }); if (aggs?.total === 1) { diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 4aad29bc7..f12fcb50f 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -73,10 +73,9 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); - const { databaseName: database } = await api.database.createDatabase({ - workspace, - database: `sdk-integration-test-${prefix}-${id}`, - data: { region }, + const { databaseName: database } = await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, + body: { region }, headers: { 'X-Xata-Files': 'true' } }); @@ -93,14 +92,14 @@ export async function setUpTestEnvironment( }; const { edits } = await api.migrations.compareBranchWithUserSchema({ - workspace, - region, - database, - branch: 'main', - schema + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { schema } }); - await api.migrations.applyBranchSchemaEdit({ workspace, region, database, branch: 'main', edits }); + await api.migrations.applyBranchSchemaEdit({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { edits } + }); let span: Span | undefined; @@ -110,7 +109,7 @@ export async function setUpTestEnvironment( }, afterAll: async () => { try { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); } catch (e) { // Ignore error, delete database during ES snapshot fails console.error('Delete database failed', e); From a2a23746419d77909b244096d3c7e987933a8168 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 9 Apr 2024 15:27:14 +0200 Subject: [PATCH 137/145] Remove cache implementation (#1368) Signed-off-by: Alexis Rico --- .changeset/pre.json | 2 - .changeset/violet-worms-develop.md | 2 - .github/workflows/build-pr.yml | 2 - packages/client/src/client.ts | 5 - packages/client/src/plugins.ts | 2 - packages/client/src/schema/cache.test.ts | 96 - packages/client/src/schema/cache.ts | 53 - packages/client/src/schema/index.ts | 1 - packages/client/src/schema/query.ts | 11 - packages/client/src/schema/repository.ts | 26 - packages/plugin-client-cache/.npmignore | 5 - packages/plugin-client-cache/CHANGELOG.md | 389 - packages/plugin-client-cache/package.json | 33 - .../plugin-client-cache/rollup.config.mjs | 29 - packages/plugin-client-cache/src/index.ts | 1 - packages/plugin-client-cache/src/lru-cache.ts | 35 - packages/plugin-client-cache/tsconfig.json | 22 - packages/plugin-client-cloudflare/.npmignore | 5 - .../plugin-client-cloudflare/CHANGELOG.md | 313 - .../plugin-client-cloudflare/package.json | 28 - .../rollup.config.mjs | 29 - .../plugin-client-cloudflare/src/cache.ts | 88 - .../plugin-client-cloudflare/src/index.ts | 1 - .../plugin-client-cloudflare/tsconfig.json | 23 - pnpm-lock.yaml | 7601 +++++++---------- test/integration/cache.test.ts | 113 - test/utils/setup.ts | 7 +- 27 files changed, 2893 insertions(+), 6029 deletions(-) delete mode 100644 packages/client/src/schema/cache.test.ts delete mode 100644 packages/client/src/schema/cache.ts delete mode 100644 packages/plugin-client-cache/.npmignore delete mode 100644 packages/plugin-client-cache/CHANGELOG.md delete mode 100644 packages/plugin-client-cache/package.json delete mode 100644 packages/plugin-client-cache/rollup.config.mjs delete mode 100644 packages/plugin-client-cache/src/index.ts delete mode 100644 packages/plugin-client-cache/src/lru-cache.ts delete mode 100644 packages/plugin-client-cache/tsconfig.json delete mode 100644 packages/plugin-client-cloudflare/.npmignore delete mode 100644 packages/plugin-client-cloudflare/CHANGELOG.md delete mode 100644 packages/plugin-client-cloudflare/package.json delete mode 100644 packages/plugin-client-cloudflare/rollup.config.mjs delete mode 100644 packages/plugin-client-cloudflare/src/cache.ts delete mode 100644 packages/plugin-client-cloudflare/src/index.ts delete mode 100644 packages/plugin-client-cloudflare/tsconfig.json delete mode 100644 test/integration/cache.test.ts diff --git a/.changeset/pre.json b/.changeset/pre.json index 80aba5e0e..09815f51e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,8 +6,6 @@ "@xata.io/client": "0.28.2", "@xata.io/codegen": "0.28.2", "@xata.io/importer": "1.1.3", - "@xata.io/plugin-client-cache": "0.1.39", - "@xata.io/plugin-client-cloudflare": "0.0.38", "@xata.io/drizzle": "0.0.13", "@xata.io/kysely": "0.1.13", "@xata.io/netlify": "0.1.23", diff --git a/.changeset/violet-worms-develop.md b/.changeset/violet-worms-develop.md index 353605dbd..2d58b8624 100644 --- a/.changeset/violet-worms-develop.md +++ b/.changeset/violet-worms-develop.md @@ -3,8 +3,6 @@ '@xata.io/client': major '@xata.io/codegen': major '@xata.io/importer': major -'@xata.io/plugin-client-cache': major -'@xata.io/plugin-client-cloudflare': major '@xata.io/drizzle': major '@xata.io/kysely': major '@xata.io/netlify': major diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 2fa8e0769..a57b29412 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -110,8 +110,6 @@ jobs: cat << EOF > .changeset/force-canary-build.md --- '@xata.io/plugin-client-opentelemetry': patch - '@xata.io/plugin-client-cloudflare': patch - '@xata.io/plugin-client-cache': patch '@xata.io/drizzle': patch '@xata.io/kysely': patch '@xata.io/pgroll': patch diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index c9ff2c343..aa365225e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -2,7 +2,6 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; import { FilesPlugin, FilesPluginResult } from './files'; import { XataPlugin, XataPluginOptions } from './plugins'; import { BaseSchema, SchemaPlugin, SchemaPluginResult, XataRecord } from './schema'; -import { CacheImpl, SimpleCache } from './schema/cache'; import { defaultTrace, TraceFunction } from './schema/tracing'; import { SearchPlugin, SearchPluginResult } from './search'; import { SQLPlugin, SQLPluginResult } from './sql'; @@ -18,7 +17,6 @@ export type BaseClientOptions = { apiKey?: string; databaseURL?: string; branch?: string; - cache?: CacheImpl; trace?: TraceFunction; enableBrowser?: boolean; clientName?: string; @@ -49,7 +47,6 @@ export const buildClient = = {}>(plu const pluginOptions: XataPluginOptions = { ...this.#getFetchProps(safeOptions), - cache: safeOptions.cache, host: safeOptions.host, tables, branch: safeOptions.branch @@ -98,7 +95,6 @@ export const buildClient = = {}>(plu const fetch = getFetchImplementation(options?.fetch); const databaseURL = options?.databaseURL || getDatabaseURL(); const apiKey = options?.apiKey || getAPIKey(); - const cache = options?.cache ?? new SimpleCache({ defaultQueryTTL: 0 }); const trace = options?.trace ?? defaultTrace; const clientName = options?.clientName; const host = options?.host ?? 'production'; @@ -138,7 +134,6 @@ export const buildClient = = {}>(plu databaseURL, apiKey, branch, - cache, trace, host, clientID: generateUUID(), diff --git a/packages/client/src/plugins.ts b/packages/client/src/plugins.ts index 72a3f8cdc..f9f78cde1 100644 --- a/packages/client/src/plugins.ts +++ b/packages/client/src/plugins.ts @@ -1,12 +1,10 @@ import { ApiExtraProps, HostProvider, Schemas } from './api'; -import { CacheImpl } from './schema/cache'; export abstract class XataPlugin { abstract build(options: XataPluginOptions): unknown; } export type XataPluginOptions = ApiExtraProps & { - cache: CacheImpl; host: HostProvider; tables: Schemas.Table[]; branch: string; diff --git a/packages/client/src/schema/cache.test.ts b/packages/client/src/schema/cache.test.ts deleted file mode 100644 index 62b1f93c1..000000000 --- a/packages/client/src/schema/cache.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { describe, expect, test } from 'vitest'; -import { SimpleCache } from './cache'; - -const cache = new SimpleCache({ max: 5 }); - -describe('simple cache', () => { - test('no cache', async () => { - const noCache = new SimpleCache({ max: 0 }); - - await noCache.set('foo', 'bar'); - expect(await noCache.get('foo')).toBe(null); - }); - - test('useless cache', async () => { - const uselessCache = new SimpleCache({ max: 1 }); - - await uselessCache.set('foo', 'bar'); - expect(await uselessCache.get('foo')).toBe('bar'); - }); - - test('cache', async () => { - await cache.set('foo', 'bar'); - expect(await cache.get('foo')).toBe('bar'); - }); - - test('cache with delete', async () => { - await cache.set('foo', 'bar'); - await cache.delete('foo'); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with clear', async () => { - await cache.set('foo', 'bar'); - await cache.clear(); - expect(await cache.get('foo')).toBe(null); - }); - - test('cache with getAll', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - expect(await cache.getAll()).toEqual({ foo: 'bar', bar: 'foo' }); - }); - - test('cache with getAll and delete', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.delete('foo'); - expect(await cache.getAll()).toEqual({ bar: 'foo' }); - }); - - test('cache with getAll and clear', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.clear(); - expect(await cache.getAll()).toEqual({}); - }); - - test('cache with max size', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "baz": "foo", - "corge": "foo", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); - - test('cache with max size, least recently used', async () => { - await cache.set('foo', 'bar'); - await cache.set('bar', 'foo'); - await cache.set('baz', 'foo'); - await cache.set('qux', 'foo'); - await cache.set('foo', 'bar'); - await cache.set('quux', 'foo'); - await cache.set('corge', 'foo'); - await cache.set('grault', 'foo'); - expect(await cache.getAll()).toMatchInlineSnapshot(` - { - "corge": "foo", - "foo": "bar", - "grault": "foo", - "quux": "foo", - "qux": "foo", - } - `); - }); -}); diff --git a/packages/client/src/schema/cache.ts b/packages/client/src/schema/cache.ts deleted file mode 100644 index 9dd098928..000000000 --- a/packages/client/src/schema/cache.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface CacheImpl { - defaultQueryTTL: number; - - getAll(): Promise>; - get: (key: string) => Promise; - set: (key: string, value: T) => Promise; - delete: (key: string) => Promise; - clear: () => Promise; -} - -export interface SimpleCacheOptions { - max?: number; - defaultQueryTTL?: number; -} - -export class SimpleCache implements CacheImpl { - #map: Map; - - capacity: number; - defaultQueryTTL: number; - - constructor(options: SimpleCacheOptions = {}) { - this.#map = new Map(); - this.capacity = options.max ?? 500; - this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1000; - } - - async getAll(): Promise> { - return Object.fromEntries(this.#map); - } - - async get(key: string): Promise { - return (this.#map.get(key) ?? null) as T | null; - } - - async set(key: string, value: T): Promise { - await this.delete(key); - this.#map.set(key, value); - - if (this.#map.size > this.capacity) { - const leastRecentlyUsed = this.#map.keys().next().value; - await this.delete(leastRecentlyUsed); - } - } - - async delete(key: string): Promise { - this.#map.delete(key); - } - - async clear(): Promise { - return this.#map.clear(); - } -} diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 2d0fe9102..49a3ccdcf 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -4,7 +4,6 @@ import { XataRecord } from './record'; import { Repository, RestRepository } from './repository'; export * from './ask'; -export * from './cache'; export { XataFile } from './files'; export type { XataArrayFile } from './files'; export * from './inference'; diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index 75165d9ff..deb416041 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -24,7 +24,6 @@ import { SummarizeExpression, SummarizeParams, SummarizeResult } from './summari type BaseOptions = { columns?: SelectableColumnWithObjectNotation[]; consistency?: 'strong' | 'eventual'; - cache?: number; fetchOptions?: Record; }; @@ -83,7 +82,6 @@ export class Query { - return new Query(this.#repository, this.#table, { cache: ttl }, this.#data); - } - /** * Retrieve next page of records * diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index 4c7db45ac..fb3d6fe59 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -36,7 +36,6 @@ import { generateUUID } from '../util/uuid'; import { VERSION } from '../version'; import { AggregationExpression, AggregationResult } from './aggregate'; import { AskOptions, AskResult } from './ask'; -import { CacheImpl } from './cache'; import { XataArrayFile, XataFile, parseInputFileEntry } from './files'; import { Filter, cleanFilter } from './filters'; import { parseJson, stringifyJson } from './json'; @@ -815,7 +814,6 @@ export class RestRepository #table: string; #getFetchProps: () => ApiExtraProps; #db: SchemaPluginResult; - #cache?: CacheImpl; #schemaTables?: Schemas.Table[]; #trace: TraceFunction; @@ -833,7 +831,6 @@ export class RestRepository this.#table = options.table; this.#db = options.db; - this.#cache = options.pluginOptions.cache; this.#schemaTables = options.schemaTables; this.#getFetchProps = () => ({ ...options.pluginOptions, sessionID: generateUUID() }); @@ -1852,9 +1849,6 @@ export class RestRepository async query(query: Query): Promise> { return this.#trace('query', async () => { - const cacheQuery = await this.#getCacheQuery(query); - if (cacheQuery) return new Page(query, cacheQuery.meta, cacheQuery.records); - const data = query.getQueryOptions(); const { meta, records: objects } = await queryTable({ @@ -1885,7 +1879,6 @@ export class RestRepository (data.columns as SelectableColumn[]) ?? ['*'] ) ); - await this.#setCacheQuery(query, meta, records); return new Page(query, meta, records); }); @@ -1963,25 +1956,6 @@ export class RestRepository } } - async #setCacheQuery(query: Query, meta: RecordsMetadata, records: XataRecord[]): Promise { - await this.#cache?.set(`query_${this.#table}:${query.key()}`, { date: new Date(), meta, records }); - } - - async #getCacheQuery( - query: Query - ): Promise<{ meta: RecordsMetadata; records: T[] } | null> { - const key = `query_${this.#table}:${query.key()}`; - const result = await this.#cache?.get<{ date: Date; meta: RecordsMetadata; records: T[] }>(key); - if (!result) return null; - - const defaultTTL = this.#cache?.defaultQueryTTL ?? -1; - const { cache: ttl = defaultTTL } = query.getQueryOptions(); - if (ttl < 0) return null; - - const hasExpired = result.date.getTime() + ttl < Date.now(); - return hasExpired ? null : result; - } - async #getSchemaTables(): Promise { if (this.#schemaTables) return this.#schemaTables; diff --git a/packages/plugin-client-cache/.npmignore b/packages/plugin-client-cache/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cache/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cache/CHANGELOG.md b/packages/plugin-client-cache/CHANGELOG.md deleted file mode 100644 index 91c89762b..000000000 --- a/packages/plugin-client-cache/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -# @xata.io/plugin-client-cache - -## 0.1.46 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.1.45 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.1.43 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.1.42 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.1.41 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.1.40 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.1.39 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.1.38 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.1.37 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.1.33 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.1.32 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.1.31 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.1.28 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.1.25 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.1.23 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.1.22 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.1.20 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.1.19 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.1.17 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.1.15 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.1.10 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.1.8 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.1.6 - -### Patch Changes - -- [#828](https://github.com/xataio/client-ts/pull/828) [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5) Thanks [@SferaDev](https://github.com/SferaDev)! - Add branded types to serializer - -- Updated dependencies [[`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5), [`039e35bf`](https://github.com/xataio/client-ts/commit/039e35bf9f01149f39bca39e1867908ca3468bb5)]: - - @xata.io/client@0.21.6 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [[`330b076`](https://github.com/xataio/client-ts/commit/330b076a0781e3576c82afab76e3fb2a64f2e041), [`c3dfb4b`](https://github.com/xataio/client-ts/commit/c3dfb4babc990634b9e9747616ed93223178a2e7), [`699beb4`](https://github.com/xataio/client-ts/commit/699beb4bbf21cffa001d3f88a03246980e30250b), [`74b17aa`](https://github.com/xataio/client-ts/commit/74b17aaedc0dbdd79bfdcb182b2e70b61f98f5a5), [`83f20cd`](https://github.com/xataio/client-ts/commit/83f20cdbe53706c16016c4db3f318e679b24ec86), [`addfcc6`](https://github.com/xataio/client-ts/commit/addfcc67fca663defdd340111ea09c9188bad3ab), [`eb7ba59`](https://github.com/xataio/client-ts/commit/eb7ba594be2a1f0ab90956836bbeb912e188a46d), [`f1a0742`](https://github.com/xataio/client-ts/commit/f1a0742a04e1aefab14f46371a04a41069faec01)]: - - @xata.io/client@0.18.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [[`26e91d1`](https://github.com/xataio/client-ts/commit/26e91d1d84df082dedd7159271fc7c27ec87fefe), [`3332d43`](https://github.com/xataio/client-ts/commit/3332d43121367f61c8d87dfb7da2af65bd1c278f)]: - - @xata.io/client@0.17.0 - -## 0.1.0 - -### Minor Changes - -- [#485](https://github.com/xataio/client-ts/pull/485) [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb) Thanks [@SferaDev](https://github.com/SferaDev)! - Remove record cache - -### Patch Changes - -- Updated dependencies [[`6a96ea5`](https://github.com/xataio/client-ts/commit/6a96ea5da4c5b7ca9a99b57ebbce8d6766b5d4d8), [`43f2560`](https://github.com/xataio/client-ts/commit/43f25605ddd0d2fd514a1542a14389d28955c500), [`a9cbb26`](https://github.com/xataio/client-ts/commit/a9cbb263fbca47cb91a827db252d95a5bb4079a6), [`7e04a3d`](https://github.com/xataio/client-ts/commit/7e04a3d1c51958a44f687a0036ead8bb3f5a2dfb)]: - - @xata.io/client@0.16.0 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`e923d11`](https://github.com/xataio/client-ts/commit/e923d11fe357519dc4ca3ae722670e6e70ccd1c6), [`599b52c`](https://github.com/xataio/client-ts/commit/599b52c3090222eedef85d1ad1e907874cd3e801)]: - - @xata.io/client@0.15.0 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`7547b7e`](https://github.com/xataio/client-ts/commit/7547b7edbc9a95c6620784cc5348316f27502c73), [`8812380`](https://github.com/xataio/client-ts/commit/881238062b5eeac2dc8b9ba156720e0acc22c5c5), [`0584a5b`](https://github.com/xataio/client-ts/commit/0584a5b207a21dbc36ddc1d44b276f1d5bb60dc5), [`8d8a912`](https://github.com/xataio/client-ts/commit/8d8a9129e36452266c4c12fe35b421f66e572498), [`e99010c`](https://github.com/xataio/client-ts/commit/e99010c9ab9d355abadcfbcf98b5a3fcc80c307a), [`c4be404`](https://github.com/xataio/client-ts/commit/c4be404a3ecb34df9b1ef4501c92f5bdc221f19c)]: - - @xata.io/client@0.14.0 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`c9f34ad`](https://github.com/xataio/client-ts/commit/c9f34ad37d75203083a1dec2fac2b03e096521af), [`5f82e43`](https://github.com/xataio/client-ts/commit/5f82e4394010f40dcbf3faf2d0bdb58a6fc1c37a)]: - - @xata.io/client@0.13.0 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`db3c88e`](https://github.com/xataio/client-ts/commit/db3c88e1f2bee6d308afb8d6e95b7c090a87e7a7), [`1cde95f`](https://github.com/xataio/client-ts/commit/1cde95f05a6b9fbf0564ea05400140f0cef41a3a), [`57bf0e2`](https://github.com/xataio/client-ts/commit/57bf0e2e049ed0498683ff42d287983f295342b7)]: - - @xata.io/client@0.12.0 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`505257c`](https://github.com/xataio/client-ts/commit/505257c0c42ca0c8beaf5c0f638037c576dcc43c), [`ff7e5c6`](https://github.com/xataio/client-ts/commit/ff7e5c6f211913196d8c28600d7a7675ed261688), [`bf64cb8`](https://github.com/xataio/client-ts/commit/bf64cb885d55a0271e966314384324f02ded084e), [`ce07601`](https://github.com/xataio/client-ts/commit/ce07601e4ddf9f75e20249d479dc04a63795ca96), [`bc64c28`](https://github.com/xataio/client-ts/commit/bc64c28fbfbb000c7190ac8092e2ef6a261df86f), [`12f1ce3`](https://github.com/xataio/client-ts/commit/12f1ce362f6cda27dfdb3afab0800282bddc8b5e), [`a73a2a2`](https://github.com/xataio/client-ts/commit/a73a2a2014c44cf88eaef42196ba1dba9d516b4a)]: - - @xata.io/client@0.11.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6d76275`](https://github.com/xataio/client-ts/commit/6d7627555a404a4c2da42f4187df6f8300f9a46f), [`d1ec0df`](https://github.com/xataio/client-ts/commit/d1ec0df14834088a816919bfc68216f3f9b2d9ef), [`1864742`](https://github.com/xataio/client-ts/commit/18647428d8608841de514c3784fb711c39dccc6d), [`1af6f1a`](https://github.com/xataio/client-ts/commit/1af6f1aaa1123e77a895961581c87f06a88db698), [`be4eda8`](https://github.com/xataio/client-ts/commit/be4eda8f73037d97fef7de28b56d7471dd867875), [`99be734`](https://github.com/xataio/client-ts/commit/99be734827576d888aa12a579ed1983a0a8a8e83)]: - - @xata.io/client@0.10.0 - -## 0.0.2 - -### Patch Changes - -- [#247](https://github.com/xataio/client-ts/pull/247) [`53b4ad6`](https://github.com/xataio/client-ts/commit/53b4ad670c9f35387e4d0e26aec5ce0dfd340d07) Thanks [@SferaDev](https://github.com/SferaDev)! - Initial release - -- Updated dependencies [[`2fc2788`](https://github.com/xataio/client-ts/commit/2fc2788e583c047ffb2cd693f053f60ce608149c), [`a96da7c`](https://github.com/xataio/client-ts/commit/a96da7c8b548604ed25001390992531537675a44), [`e8d595f`](https://github.com/xataio/client-ts/commit/e8d595f54efe126b39c78cc771a5d69c551f4fba), [`c4dcd11`](https://github.com/xataio/client-ts/commit/c4dcd110d8f9dc3a7e4510f2f00257c9109e51fa), [`2848894`](https://github.com/xataio/client-ts/commit/284889446bbac5d6737086bf01a588d97b841730)]: - - @xata.io/client@0.9.0 diff --git a/packages/plugin-client-cache/package.json b/packages/plugin-client-cache/package.json deleted file mode 100644 index 72cf9bfc4..000000000 --- a/packages/plugin-client-cache/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cache", - "version": "0.1.46", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@xata.io/client": "workspace:*" - }, - "devDependencies": { - "lru-cache": "^10.2.2" - }, - "peerDependencies": { - "lru-cache": "^7" - } -} diff --git a/packages/plugin-client-cache/rollup.config.mjs b/packages/plugin-client-cache/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cache/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cache/src/index.ts b/packages/plugin-client-cache/src/index.ts deleted file mode 100644 index 43558e57f..000000000 --- a/packages/plugin-client-cache/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lru-cache'; diff --git a/packages/plugin-client-cache/src/lru-cache.ts b/packages/plugin-client-cache/src/lru-cache.ts deleted file mode 100644 index eee419c94..000000000 --- a/packages/plugin-client-cache/src/lru-cache.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { LRUCache as LRU } from 'lru-cache'; -import { CacheImpl } from '@xata.io/client'; - -export type LRUCacheOptions = Partial>; - -export class LRUCache implements CacheImpl { - #cache: LRU; - defaultQueryTTL: number; - - constructor(options: LRUCacheOptions = {}) { - this.#cache = new LRU({ max: 500, ...options }); - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - async getAll(): Promise> { - const entries = this.#cache.dump().map(([key, { value }]) => [key, value]); - return Object.fromEntries(entries); - } - - async get(key: string): Promise { - return this.#cache.get(key) ?? null; - } - - async set(key: string, value: T): Promise { - this.#cache.set(key, value); - } - - async delete(key: string): Promise { - this.#cache.delete(key); - } - - async clear(): Promise { - this.#cache.clear(); - } -} diff --git a/packages/plugin-client-cache/tsconfig.json b/packages/plugin-client-cache/tsconfig.json deleted file mode 100644 index 654c56dd1..000000000 --- a/packages/plugin-client-cache/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/plugin-client-cloudflare/.npmignore b/packages/plugin-client-cloudflare/.npmignore deleted file mode 100644 index c97b8ad26..000000000 --- a/packages/plugin-client-cloudflare/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -src -tsconfig.json -rollup.config.mjs -.eslintrc.cjs -.gitignore diff --git a/packages/plugin-client-cloudflare/CHANGELOG.md b/packages/plugin-client-cloudflare/CHANGELOG.md deleted file mode 100644 index 1dffd216d..000000000 --- a/packages/plugin-client-cloudflare/CHANGELOG.md +++ /dev/null @@ -1,313 +0,0 @@ -# @xata.io/plugin-client-cloudflare - -## 0.0.45 - -### Patch Changes - -- Updated dependencies [[`2140a24`](https://github.com/xataio/client-ts/commit/2140a24f32a94f36bab8c8268033c7dcf235dddc), [`d8032f2`](https://github.com/xataio/client-ts/commit/d8032f2e07bdcc653db1606796d27f08d397cdbe)]: - - @xata.io/client@0.29.4 - -## 0.0.44 - -### Patch Changes - -- Updated dependencies [[`02053fb`](https://github.com/xataio/client-ts/commit/02053fbb10479b8e9453691f957d3235762555aa), [`e27cb74`](https://github.com/xataio/client-ts/commit/e27cb74143aa9b6c654713878e5d3776858e5290)]: - - @xata.io/client@0.29.3 - -## 0.0.43 - -### Patch Changes - -- Updated dependencies [[`e8db1cd`](https://github.com/xataio/client-ts/commit/e8db1cd394ccbed32403548bf9d09a5c3973d850)]: - - @xata.io/client@0.29.2 - -## 0.0.42 - -### Patch Changes - -- Updated dependencies [[`d0f5d12`](https://github.com/xataio/client-ts/commit/d0f5d125e6c2f4c82f8a0a6b4a30d255c58e8326), [`212b53d`](https://github.com/xataio/client-ts/commit/212b53d07498def0d2ed8942691eff982e448969), [`9fd8c42`](https://github.com/xataio/client-ts/commit/9fd8c428d71b476f1951123c6cba5e803b983e54), [`368d4aa`](https://github.com/xataio/client-ts/commit/368d4aa16cd1cc1da93a142406c5d41bbc15b082)]: - - @xata.io/client@0.29.1 - -## 0.0.41 - -### Patch Changes - -- Updated dependencies [[`0ec026a`](https://github.com/xataio/client-ts/commit/0ec026a92bdb1a405cb9d90cb1d506ff159f98e8), [`6414bd3`](https://github.com/xataio/client-ts/commit/6414bd3d8bdb84961e68968df4b0b025503f0d72), [`27773df`](https://github.com/xataio/client-ts/commit/27773df5addf0013d1a7238ac490904e7aad2334)]: - - @xata.io/client@0.29.0 - -## 0.0.40 - -### Patch Changes - -- Updated dependencies [[`adc961b`](https://github.com/xataio/client-ts/commit/adc961b886b789010e6512c17cb2377eceab665a), [`6031a9d`](https://github.com/xataio/client-ts/commit/6031a9de63c264b7db5b031bb1795258c2bf8150)]: - - @xata.io/client@0.28.4 - -## 0.0.39 - -### Patch Changes - -- Updated dependencies [[`b7f3ec9`](https://github.com/xataio/client-ts/commit/b7f3ec9eabe3642929131e244bd774f4d3134482)]: - - @xata.io/client@0.28.3 - -## 0.0.38 - -### Patch Changes - -- Updated dependencies [[`c9178e1`](https://github.com/xataio/client-ts/commit/c9178e1e3f2268513e78dcfce396a99a8fca5dfb)]: - - @xata.io/client@0.28.2 - -## 0.0.37 - -### Patch Changes - -- Updated dependencies [[`9a7e3f5`](https://github.com/xataio/client-ts/commit/9a7e3f5029e53efc6750e9c86bab936427788209)]: - - @xata.io/client@0.28.1 - -## 0.0.36 - -### Patch Changes - -- Updated dependencies [[`e97d1999`](https://github.com/xataio/client-ts/commit/e97d1999f3c25f149213ceca81958e1674624e05)]: - - @xata.io/client@0.28.0 - -## 0.0.35 - -### Patch Changes - -- Updated dependencies [[`19c5dd47`](https://github.com/xataio/client-ts/commit/19c5dd47e3a032fcb19d990527b8faaa9326d97d), [`d282d18f`](https://github.com/xataio/client-ts/commit/d282d18f025094e0729ade6009b34fc0d34ebbba)]: - - @xata.io/client@0.27.0 - -## 0.0.34 - -### Patch Changes - -- Updated dependencies [[`302798e8`](https://github.com/xataio/client-ts/commit/302798e8d210c89f420a5c927e0f836a27dbaed9)]: - - @xata.io/client@0.26.9 - -## 0.0.33 - -### Patch Changes - -- Updated dependencies [[`fa2883b0`](https://github.com/xataio/client-ts/commit/fa2883b0639e48d68097401bf515c8cb95df5b4b), [`c04faece`](https://github.com/xataio/client-ts/commit/c04faece8830699d978e03c89f29e383e479e824), [`cb45cc9f`](https://github.com/xataio/client-ts/commit/cb45cc9f6829e1b555762e656cc1b0b2e977aaf9)]: - - @xata.io/client@0.26.8 - -## 0.0.32 - -### Patch Changes - -- Updated dependencies [[`0e1c50de`](https://github.com/xataio/client-ts/commit/0e1c50de5850db2dfbbdfff9d66eda3bf1322836), [`d093d363`](https://github.com/xataio/client-ts/commit/d093d363a51fc23c8513d51600bb3b31bbc45334)]: - - @xata.io/client@0.26.7 - -## 0.0.31 - -### Patch Changes - -- Updated dependencies [[`3330c9cf`](https://github.com/xataio/client-ts/commit/3330c9cf8d8db18b8e355a576e4afd589b6152bf), [`a738816d`](https://github.com/xataio/client-ts/commit/a738816d355f4415b0622bb5a23b4154f9855177)]: - - @xata.io/client@0.26.6 - -## 0.0.30 - -### Patch Changes - -- Updated dependencies [[`b9b9058f`](https://github.com/xataio/client-ts/commit/b9b9058f0bc81b660da45318c27191a62f041f21)]: - - @xata.io/client@0.26.5 - -## 0.0.29 - -### Patch Changes - -- Updated dependencies [[`7166797c`](https://github.com/xataio/client-ts/commit/7166797c28839198d20a9115d0414cebc2fed39b), [`b85df75f`](https://github.com/xataio/client-ts/commit/b85df75f2f466762a8b3d9824c9292c7e3db03fd)]: - - @xata.io/client@0.26.4 - -## 0.0.28 - -### Patch Changes - -- Updated dependencies [[`4910dce2`](https://github.com/xataio/client-ts/commit/4910dce29d3cc17d13aadf32e4eb476ffb571fad)]: - - @xata.io/client@0.26.3 - -## 0.0.27 - -### Patch Changes - -- Updated dependencies [[`22fccb51`](https://github.com/xataio/client-ts/commit/22fccb51709749c319897702c15749b74ce4b820)]: - - @xata.io/client@0.26.2 - -## 0.0.26 - -### Patch Changes - -- Updated dependencies [[`922e6e54`](https://github.com/xataio/client-ts/commit/922e6e54e8b31641770a36b6b4ff8f4fa65d304d), [`13f6f3e4`](https://github.com/xataio/client-ts/commit/13f6f3e4b1a2f925d50a5380b62ef1057f5c3893), [`f02fc165`](https://github.com/xataio/client-ts/commit/f02fc165bf6558e4377eb9f8e1d0f4222f004c70)]: - - @xata.io/client@0.26.1 - -## 0.0.25 - -### Patch Changes - -- Updated dependencies [[`6ec862f8`](https://github.com/xataio/client-ts/commit/6ec862f8f799eb692f62be79dd0b613b83a34780), [`0c0149ad`](https://github.com/xataio/client-ts/commit/0c0149ad1ee3f7c0fe9d31030552b022c907edb0)]: - - @xata.io/client@0.26.0 - -## 0.0.24 - -### Patch Changes - -- Updated dependencies [[`3b9e1984`](https://github.com/xataio/client-ts/commit/3b9e1984329cd0e9f885f6af4155cc85ab61ba41)]: - - @xata.io/client@0.25.3 - -## 0.0.23 - -### Patch Changes - -- Updated dependencies [[`9d1ace5f`](https://github.com/xataio/client-ts/commit/9d1ace5f12788755f3150449120b27cd030af3a9), [`f6665593`](https://github.com/xataio/client-ts/commit/f6665593c301dc9400834cbd68ae32b92bbdea5d)]: - - @xata.io/client@0.25.2 - -## 0.0.22 - -### Patch Changes - -- Updated dependencies [[`321c33ff`](https://github.com/xataio/client-ts/commit/321c33ff684c416a6cc813be2a970fd8f826b885)]: - - @xata.io/client@0.25.1 - -## 0.0.21 - -### Patch Changes - -- Updated dependencies [[`ac3b968f`](https://github.com/xataio/client-ts/commit/ac3b968f7ca476f2c82b1b2719d020fbd7164f38), [`aef9c834`](https://github.com/xataio/client-ts/commit/aef9c834a850494020e7585cb4ce67b446f9ccfc), [`bcce0d3b`](https://github.com/xataio/client-ts/commit/bcce0d3b0b53468937accd4fee3b5485c35f69ad), [`c1f2d264`](https://github.com/xataio/client-ts/commit/c1f2d2649e077cdffae97c90b9d2b1c75d6858fb), [`6c2c2630`](https://github.com/xataio/client-ts/commit/6c2c26308d4cbd25e7a9677c7d25c836396d4965)]: - - @xata.io/client@0.25.0 - -## 0.0.20 - -### Patch Changes - -- Updated dependencies [[`f01d1580`](https://github.com/xataio/client-ts/commit/f01d1580fc450cbf06eb8af85d68cf052fbe83a1), [`52290feb`](https://github.com/xataio/client-ts/commit/52290feb5bba57384cdc14e7722fb5d9883dc581)]: - - @xata.io/client@0.24.3 - -## 0.0.19 - -### Patch Changes - -- Updated dependencies [[`51561b52`](https://github.com/xataio/client-ts/commit/51561b52b56ad5ed9101d8faf12929891419cb2c)]: - - @xata.io/client@0.24.2 - -## 0.0.18 - -### Patch Changes - -- Updated dependencies [[`eaa774f5`](https://github.com/xataio/client-ts/commit/eaa774f542185ef92448155bcdff331686c4da9f)]: - - @xata.io/client@0.24.1 - -## 0.0.17 - -### Patch Changes - -- Updated dependencies [[`45aa2207`](https://github.com/xataio/client-ts/commit/45aa220728e98dd716a55a9a307474732a9b2bc1), [`f28080f0`](https://github.com/xataio/client-ts/commit/f28080f034f02704fe00d64b8f42e1127bde30c7), [`ac9c0604`](https://github.com/xataio/client-ts/commit/ac9c06042bb85105d9a38624676ce6ea5a27d488), [`c163b365`](https://github.com/xataio/client-ts/commit/c163b3658f23fb2eaad6243ebebc92624754099a)]: - - @xata.io/client@0.24.0 - -## 0.0.16 - -### Patch Changes - -- [#972](https://github.com/xataio/client-ts/pull/972) [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae) Thanks [@SferaDev](https://github.com/SferaDev)! - Add types to exports - -- Updated dependencies [[`20cc8c43`](https://github.com/xataio/client-ts/commit/20cc8c43e1659bf112ae2642948c84bfcf46a6ba), [`5099cbbd`](https://github.com/xataio/client-ts/commit/5099cbbd3065a60dcee2f1699afa1ee8ed5edb1c), [`89375e76`](https://github.com/xataio/client-ts/commit/89375e76b790fed7e6a26bf3ac4ea9eaed1aecae), [`5eaee932`](https://github.com/xataio/client-ts/commit/5eaee932b828907ae352d7c0d0584e860845434b), [`109b8790`](https://github.com/xataio/client-ts/commit/109b8790849532d9c442e7c03c67792aeafebd88)]: - - @xata.io/client@0.23.5 - -## 0.0.15 - -### Patch Changes - -- Updated dependencies [[`470cc71f`](https://github.com/xataio/client-ts/commit/470cc71f7c5c8b9fd50f789e157d2b2eecd0b3e8)]: - - @xata.io/client@0.23.4 - -## 0.0.14 - -### Patch Changes - -- Updated dependencies [[`344b0d68`](https://github.com/xataio/client-ts/commit/344b0d687962d569872d1e90d59818d28df7579c)]: - - @xata.io/client@0.23.3 - -## 0.0.13 - -### Patch Changes - -- Updated dependencies [[`c477c177`](https://github.com/xataio/client-ts/commit/c477c17795c01cbf945be413217944a5a38655a5), [`ecdc6553`](https://github.com/xataio/client-ts/commit/ecdc6553d4628289e88953ab6296b80f60e8f757)]: - - @xata.io/client@0.23.2 - -## 0.0.12 - -### Patch Changes - -- Updated dependencies [[`3026d708`](https://github.com/xataio/client-ts/commit/3026d70847830fd0f2024413d823380ff323806c)]: - - @xata.io/client@0.23.1 - -## 0.0.11 - -### Patch Changes - -- Updated dependencies [[`5838113f`](https://github.com/xataio/client-ts/commit/5838113fca042163b44d7cc7cc1686d5ef89b302)]: - - @xata.io/client@0.23.0 - -## 0.0.10 - -### Patch Changes - -- Updated dependencies [[`22e7dd29`](https://github.com/xataio/client-ts/commit/22e7dd29f7a51dccc087d5fd7fff32084c7733af), [`07fc879d`](https://github.com/xataio/client-ts/commit/07fc879d3f778536e39588e66d7a18b5a9d52ebe), [`58a1c24e`](https://github.com/xataio/client-ts/commit/58a1c24e5d30025dce243eecce44f09d4f65ed66), [`c2c6e244`](https://github.com/xataio/client-ts/commit/c2c6e24459b1acc07f0414066258071fbcf7dde9)]: - - @xata.io/client@0.22.4 - -## 0.0.9 - -### Patch Changes - -- Updated dependencies [[`4210b8c3`](https://github.com/xataio/client-ts/commit/4210b8c3c4169ba781a56deed7ba09c99788db1f)]: - - @xata.io/client@0.22.3 - -## 0.0.8 - -### Patch Changes - -- Updated dependencies [[`72e13bf9`](https://github.com/xataio/client-ts/commit/72e13bf99d0ebefef91c984a995a28b0e8ca2a8f)]: - - @xata.io/client@0.22.2 - -## 0.0.7 - -### Patch Changes - -- Updated dependencies [[`4cafde72`](https://github.com/xataio/client-ts/commit/4cafde728e4e9e5e83812d475d9980397ae78362), [`639710a5`](https://github.com/xataio/client-ts/commit/639710a52132f260bf3a26560a21ae2193abb71d)]: - - @xata.io/client@0.22.1 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`b2a4def4`](https://github.com/xataio/client-ts/commit/b2a4def4baf3eb18cd323895635e0bccb7f876f4), [`379e6144`](https://github.com/xataio/client-ts/commit/379e61446b21e7cbadd7fc59267736c6845ec566)]: - - @xata.io/client@0.22.0 - -## 0.0.5 - -### Patch Changes - -- [#779](https://github.com/xataio/client-ts/pull/779) [`d17755f4`](https://github.com/xataio/client-ts/commit/d17755f4e804927d37be26f6404b14282cca7740) Thanks [@SferaDev](https://github.com/SferaDev)! - Do not throw error if limit reached - -- Updated dependencies [[`6c96da45`](https://github.com/xataio/client-ts/commit/6c96da4533500ec236547f47310e99461d5457e8)]: - - @xata.io/client@0.21.3 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`b131040a`](https://github.com/xataio/client-ts/commit/b131040a2d142c4e71a2e586fbf05cd9295af9a1), [`7ea810dc`](https://github.com/xataio/client-ts/commit/7ea810dc083ec284447e3bd27bd0465f887481e6), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`d124cbfb`](https://github.com/xataio/client-ts/commit/d124cbfb93d3d591e79bbe9e94c4b6304d825e71), [`fb5ccdf9`](https://github.com/xataio/client-ts/commit/fb5ccdf9fa95c37d54fbc5d9c0bb45872c831609), [`7da604d2`](https://github.com/xataio/client-ts/commit/7da604d27990e20ecadba6122434fca563e6a8c9), [`4ae00036`](https://github.com/xataio/client-ts/commit/4ae00036b53c6c89e02a1fcfdd992f1a3c22892c), [`bdae6668`](https://github.com/xataio/client-ts/commit/bdae6668fb571d29f1b1068a54f6866a80d9b174), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45), [`9486bdcc`](https://github.com/xataio/client-ts/commit/9486bdccc0af567bc5f2e8f91592b0143c539c45)]: - - @xata.io/client@0.21.0 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`6cbeaa0`](https://github.com/xataio/client-ts/commit/6cbeaa00050b5aa99ab7c98052a906487263e026), [`a5a9aa5`](https://github.com/xataio/client-ts/commit/a5a9aa59987faa1d3d701d7431b8a96031e01ac7), [`c64b2eb`](https://github.com/xataio/client-ts/commit/c64b2eb9add70e75d419d418ab9608caac0dbfa1), [`485b217`](https://github.com/xataio/client-ts/commit/485b217079c4b2091d697e68622c48eddd130ceb), [`4d7499c`](https://github.com/xataio/client-ts/commit/4d7499ccbb135691350334fd8022f7a5da41c5f2)]: - - @xata.io/client@0.20.0 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`f80f051`](https://github.com/xataio/client-ts/commit/f80f05118dd0588861b8229114a469f016ef77ac), [`c14f431`](https://github.com/xataio/client-ts/commit/c14f431db020036ab2b059bcc52a5d56b321c8e7), [`2e341e5`](https://github.com/xataio/client-ts/commit/2e341e5c6140f9c4ddd74e479049992c26c43ea2), [`c8def01`](https://github.com/xataio/client-ts/commit/c8def013e9e2d5b634cdb2850f757a0b3e9e0a6d), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021), [`f2f749f`](https://github.com/xataio/client-ts/commit/f2f749f4c64246a303da8d4a617773fc55c1d021)]: - - @xata.io/client@0.19.0 diff --git a/packages/plugin-client-cloudflare/package.json b/packages/plugin-client-cloudflare/package.json deleted file mode 100644 index 3b4b3b8ae..000000000 --- a/packages/plugin-client-cloudflare/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@xata.io/plugin-client-cloudflare", - "version": "0.0.45", - "description": "", - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" - } - }, - "scripts": { - "build": "rimraf dist && rollup -c", - "tsc": "tsc --noEmit" - }, - "author": "", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/xataio/client-ts/issues" - }, - "dependencies": { - "@cloudflare/workers-types": "^4.20240423.0", - "@xata.io/client": "workspace:*" - } -} diff --git a/packages/plugin-client-cloudflare/rollup.config.mjs b/packages/plugin-client-cloudflare/rollup.config.mjs deleted file mode 100644 index 9c57e2aa4..000000000 --- a/packages/plugin-client-cloudflare/rollup.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -export default [ - { - input: 'src/index.ts', - plugins: [esbuild()], - output: [ - { - file: `dist/index.cjs`, - format: 'cjs', - sourcemap: true - }, - { - file: `dist/index.mjs`, - format: 'es', - sourcemap: true - } - ] - }, - { - input: 'src/index.ts', - plugins: [dts()], - output: { - file: `dist/index.d.ts`, - format: 'es' - } - } -]; diff --git a/packages/plugin-client-cloudflare/src/cache.ts b/packages/plugin-client-cloudflare/src/cache.ts deleted file mode 100644 index 916313492..000000000 --- a/packages/plugin-client-cloudflare/src/cache.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { CacheImpl, serialize, deserialize } from '@xata.io/client'; - -export type CloudflareKVCacheOptions = { namespace: KVNamespace; ttl?: number }; - -export class CloudflareKVCache implements CacheImpl { - #kv: KVNamespace; - defaultQueryTTL: number; - - constructor(options: CloudflareKVCacheOptions) { - this.#kv = options.namespace; - this.defaultQueryTTL = options.ttl ?? 60 * 1000; - } - - // FIXME: Binding does not support bulk operations yet. - async getAll(): Promise> { - const keys = await this.#listAll(); - const values = await Promise.all(keys.map((key) => this.get(key))); - return keys.reduce((acc, key, index) => ({ ...acc, [key]: values[index] }), {}); - } - - async get(key: string): Promise { - try { - const value = await this.#kv.get(key); - if (value === null) { - return null; - } - - return deserialize(value) as T; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return null; - } - } - - async set(key: string, value: T): Promise { - try { - await this.#kv.put(key, serialize(value), { expirationTtl: this.defaultQueryTTL }); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - async delete(key: string): Promise { - try { - await this.#kv.delete(key); - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - } - } - - // FIXME: Binding does not support bulk operations yet. - async clear(): Promise { - const keys = await this.#listAll(); - for (const key in keys) { - await this.delete(key); - } - } - - async #listAll(): Promise { - const getKeys = async (cursor?: string): Promise<{ keys: string[]; cursor?: string }> => { - try { - const result = await this.#kv.list({ cursor }); - const keys = result.keys.map((key) => key.name); - const nextCursor = result.list_complete ? undefined : result.cursor; - - return { keys, cursor: nextCursor }; - } catch (e) { - // Ignore, KV namespace limit reached - console.error('KV namespace error', e); - return { keys: [] }; - } - }; - - const { keys, cursor } = await getKeys(); - - let currentCursor = cursor; - while (currentCursor) { - const { keys: nextKeys, cursor: nextCursor } = await getKeys(currentCursor); - keys.push(...nextKeys); - currentCursor = nextCursor; - } - - return keys; - } -} diff --git a/packages/plugin-client-cloudflare/src/index.ts b/packages/plugin-client-cloudflare/src/index.ts deleted file mode 100644 index 77e55d4ef..000000000 --- a/packages/plugin-client-cloudflare/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cache'; diff --git a/packages/plugin-client-cloudflare/tsconfig.json b/packages/plugin-client-cloudflare/tsconfig.json deleted file mode 100644 index d223dc872..000000000 --- a/packages/plugin-client-cloudflare/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "lib": ["esnext"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": false, - "outDir": "dist", - "declaration": true, - "types": ["@cloudflare/workers-types"] - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58b7998e5..2fbfc97d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: devDependencies: '@babel/core': @@ -390,25 +391,6 @@ importers: specifier: ^4.7.3 version: 4.7.3 - packages/plugin-client-cache: - dependencies: - '@xata.io/client': - specifier: workspace:* - version: link:../client - devDependencies: - lru-cache: - specifier: ^10.2.2 - version: 10.2.2 - - packages/plugin-client-cloudflare: - dependencies: - '@cloudflare/workers-types': - specifier: ^4.20240423.0 - version: 4.20240423.0 - '@xata.io/client': - specifier: workspace:* - version: link:../client - packages/plugin-client-drizzle: dependencies: '@xata.io/client': @@ -467,23 +449,21 @@ importers: version: link:../client packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: - resolution: - { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 /@apollo/client@3.8.4(graphql@15.8.0)(react@17.0.2): - resolution: - { integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg== } + resolution: {integrity: sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -518,8 +498,7 @@ packages: dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -527,8 +506,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -536,15 +514,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -556,8 +532,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -570,8 +545,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -579,15 +553,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -595,9 +567,8 @@ packages: dev: true /@aws-sdk/client-cloudfront@3.535.0: - resolution: - { integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BKHhOB9J8H6YIjTn58Ke6PoagG7JUb6bbEAXn4XqBzX1El+BAG84HyyhRkqC6NgHshIriQcCtx7NIrTy7Cs5ow==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -647,9 +618,8 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: - { integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -713,9 +683,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -764,9 +733,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -815,9 +783,8 @@ packages: dev: true /@aws-sdk/client-sso@3.535.0: - resolution: - { integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -862,9 +829,8 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: - { integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -909,9 +875,8 @@ packages: dev: true /@aws-sdk/client-sts@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.535.0 dependencies: @@ -959,9 +924,8 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -1009,9 +973,8 @@ packages: dev: true /@aws-sdk/core@3.535.0: - resolution: - { integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1023,9 +986,8 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: - { integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -1037,9 +999,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1048,9 +1009,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.535.0: - resolution: - { integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1064,9 +1024,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: - { integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -1080,9 +1039,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1101,9 +1059,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -1122,9 +1079,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.535.0: - resolution: - { integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.535.0 @@ -1143,9 +1099,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: - { integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -1164,9 +1119,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1176,9 +1130,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.535.0 '@aws-sdk/token-providers': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) @@ -1193,9 +1146,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -1210,9 +1162,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1225,9 +1176,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1240,9 +1190,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1254,9 +1203,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1265,9 +1213,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -1280,9 +1227,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1291,9 +1237,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1301,9 +1246,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1311,9 +1255,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -1322,9 +1265,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: - { integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -1338,9 +1280,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: - { integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -1352,9 +1293,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: - { integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1362,9 +1302,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.535.0: - resolution: - { integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.535.0 @@ -1374,9 +1313,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: - { integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -1386,9 +1324,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -1399,9 +1336,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: - { integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -1412,9 +1348,8 @@ packages: dev: true /@aws-sdk/token-providers@3.535.0(@aws-sdk/credential-provider-node@3.535.0): - resolution: - { integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.535.0(@aws-sdk/credential-provider-node@3.535.0) '@aws-sdk/types': 3.535.0 @@ -1428,9 +1363,8 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -1444,26 +1378,23 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.535.0: - resolution: - { integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1472,9 +1403,8 @@ packages: dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: - { integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1483,16 +1413,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.465.0: - resolution: - { integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig== } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -1501,9 +1429,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0: - resolution: - { integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -1517,44 +1444,38 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: - { integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 /@babel/compat-data@7.24.1: - resolution: - { integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} /@babel/compat-data@7.24.4: - resolution: - { integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.24.4: - resolution: - { integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.24.2 @@ -1575,9 +1496,8 @@ packages: - supports-color /@babel/generator@7.24.4: - resolution: - { integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -1585,25 +1505,22 @@ packages: jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: - { integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 @@ -1612,9 +1529,8 @@ packages: semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1631,9 +1547,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1650,9 +1565,8 @@ packages: dev: true /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): - resolution: - { integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1663,8 +1577,7 @@ packages: dev: true /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== } + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -1679,44 +1592,38 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.23.0: - resolution: - { integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 /@babel/helper-hoist-variables@7.22.5: - resolution: - { integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: - { integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1728,23 +1635,20 @@ packages: '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): - resolution: - { integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1755,9 +1659,8 @@ packages: dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1768,46 +1671,39 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: - resolution: - { integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: - { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.23.5: - resolution: - { integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.22.20: - resolution: - { integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 @@ -1815,9 +1711,8 @@ packages: dev: true /@babel/helpers@7.24.4: - resolution: - { integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -1826,9 +1721,8 @@ packages: - supports-color /@babel/highlight@7.24.2: - resolution: - { integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -1836,34 +1730,30 @@ packages: picocolors: 1.0.0 /@babel/parser@7.23.3: - resolution: - { integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/parser@7.24.1: - resolution: - { integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/parser@7.24.4: - resolution: - { integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1873,9 +1763,8 @@ packages: dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1884,9 +1773,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: @@ -1897,9 +1785,8 @@ packages: dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -1909,9 +1796,8 @@ packages: dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): - resolution: - { integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1919,8 +1805,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1929,8 +1814,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: - { integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1939,9 +1823,8 @@ packages: dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1950,8 +1833,7 @@ packages: dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== } + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1960,8 +1842,7 @@ packages: dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== } + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1970,9 +1851,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1981,9 +1861,8 @@ packages: dev: true /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1992,8 +1871,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2002,8 +1880,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2012,9 +1889,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2023,8 +1899,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2033,8 +1908,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2043,8 +1917,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2053,8 +1926,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2063,8 +1935,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2073,8 +1944,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2083,9 +1953,8 @@ packages: dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2094,9 +1963,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2105,9 +1973,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2116,9 +1983,8 @@ packages: dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): - resolution: - { integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2128,9 +1994,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2139,9 +2004,8 @@ packages: dev: true /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): - resolution: - { integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2153,9 +2017,8 @@ packages: dev: true /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2166,9 +2029,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2177,9 +2039,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2188,9 +2049,8 @@ packages: dev: true /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2200,9 +2060,8 @@ packages: dev: true /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: @@ -2213,9 +2072,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2231,9 +2089,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2243,9 +2100,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2254,9 +2110,8 @@ packages: dev: true /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2266,9 +2121,8 @@ packages: dev: true /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2277,9 +2131,8 @@ packages: dev: true /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2289,9 +2142,8 @@ packages: dev: true /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2301,9 +2153,8 @@ packages: dev: true /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2313,9 +2164,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2325,9 +2175,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2338,9 +2187,8 @@ packages: dev: true /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2350,9 +2198,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2361,9 +2208,8 @@ packages: dev: true /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2373,9 +2219,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2384,9 +2229,8 @@ packages: dev: true /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2396,9 +2240,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2409,9 +2252,8 @@ packages: dev: true /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2423,9 +2265,8 @@ packages: dev: true /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2435,9 +2276,8 @@ packages: dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): - resolution: - { integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2447,9 +2287,8 @@ packages: dev: true /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2458,9 +2297,8 @@ packages: dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2470,9 +2308,8 @@ packages: dev: true /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2482,9 +2319,8 @@ packages: dev: true /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2496,9 +2332,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2508,9 +2343,8 @@ packages: dev: true /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2520,9 +2354,8 @@ packages: dev: true /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2533,9 +2366,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2544,9 +2376,8 @@ packages: dev: true /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2556,9 +2387,8 @@ packages: dev: true /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2570,9 +2400,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2581,9 +2410,8 @@ packages: dev: true /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2593,9 +2421,8 @@ packages: dev: true /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2604,9 +2431,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2615,9 +2441,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2627,9 +2452,8 @@ packages: dev: true /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2638,9 +2462,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2649,9 +2472,8 @@ packages: dev: true /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2660,9 +2482,8 @@ packages: dev: true /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2674,9 +2495,8 @@ packages: dev: true /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2685,9 +2505,8 @@ packages: dev: true /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2697,9 +2516,8 @@ packages: dev: true /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2709,9 +2527,8 @@ packages: dev: true /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -2721,9 +2538,8 @@ packages: dev: true /@babel/preset-env@7.24.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2814,8 +2630,7 @@ packages: dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): - resolution: - { integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== } + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: @@ -2826,9 +2641,8 @@ packages: dev: true /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2841,31 +2655,27 @@ packages: dev: true /@babel/regjsgen@0.8.0: - resolution: - { integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== } + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true /@babel/runtime@7.23.1: - resolution: - { integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 dev: true /@babel/template@7.24.0: - resolution: - { integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: - resolution: - { integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -2881,24 +2691,21 @@ packages: - supports-color /@babel/types@7.24.0: - resolution: - { integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 /@bugsnag/browser@7.21.0: - resolution: - { integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA== } + resolution: {integrity: sha512-mJ6r6SXpts+hdSnDNmTR35lZ+95BthqXpgBrDwquDCoY++zQ4OuzrkA/HZYD/rfpdSpgb7lO+AAlD7qrd9IylA==} dependencies: '@bugsnag/core': 7.19.0 dev: false /@bugsnag/core@7.19.0: - resolution: - { integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA== } + resolution: {integrity: sha512-2KGwdaLD9PhR7Wk7xPi3jGuGsKTatc/28U4TOZIDU3CgC2QhGjubwiXSECel5gwxhZ3jACKcMKSV2ovHhv1NrA==} dependencies: '@bugsnag/cuid': 3.0.2 '@bugsnag/safe-json-stringify': 6.0.0 @@ -2908,21 +2715,18 @@ packages: dev: false /@bugsnag/cuid@3.0.2: - resolution: - { integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ== } + resolution: {integrity: sha512-cIwzC93r3PQ/INeuwtZwkZIG2K8WWN0rRLZQhu+mr48Ay+i6sEki4GYfTsflse7hZ1BeDWrNb/Q9vgY3B31xHQ==} dev: false /@bugsnag/js@7.21.0: - resolution: - { integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg== } + resolution: {integrity: sha512-fFTR7cRBSlLtwa1wPTse92igZUEX2V95KyGGCXq2qb2F2w6hJ6oJDxA0BMPS8qqsciYXRjbfn8HX+TFgO1oErg==} dependencies: '@bugsnag/browser': 7.21.0 '@bugsnag/node': 7.19.0 dev: false /@bugsnag/node@7.19.0: - resolution: - { integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w== } + resolution: {integrity: sha512-c4snyxx5d/fsMogmgehFBGc//daH6+4XCplia4zrEQYltjaQ+l8ud0dPx623DgJl/2j1+2zlRc7y7IHSd7Gm5w==} dependencies: '@bugsnag/core': 7.19.0 byline: 5.0.0 @@ -2933,27 +2737,23 @@ packages: dev: false /@bugsnag/safe-json-stringify@6.0.0: - resolution: - { integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== } + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} dev: false /@bundled-es-modules/cookie@2.0.0: - resolution: - { integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== } + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} dependencies: cookie: 0.5.0 dev: true /@bundled-es-modules/statuses@1.0.1: - resolution: - { integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== } + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} dependencies: statuses: 2.0.1 dev: true /@changesets/apply-release-plan@7.0.0: - resolution: - { integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== } + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.23.1 '@changesets/config': 3.0.0 @@ -2971,8 +2771,7 @@ packages: dev: true /@changesets/assemble-release-plan@6.0.0: - resolution: - { integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== } + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -2983,15 +2782,13 @@ packages: dev: true /@changesets/changelog-git@0.2.0: - resolution: - { integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== } + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: '@changesets/types': 6.0.0 dev: true /@changesets/changelog-github@0.5.0: - resolution: - { integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA== } + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: '@changesets/get-github-info': 0.6.0 '@changesets/types': 6.0.0 @@ -3001,8 +2798,7 @@ packages: dev: true /@changesets/cli@2.27.1: - resolution: - { integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== } + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.23.1 @@ -3040,8 +2836,7 @@ packages: dev: true /@changesets/config@3.0.0: - resolution: - { integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== } + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -3053,15 +2848,13 @@ packages: dev: true /@changesets/errors@0.2.0: - resolution: - { integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== } + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true /@changesets/get-dependents-graph@2.0.0: - resolution: - { integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== } + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -3071,8 +2864,7 @@ packages: dev: true /@changesets/get-github-info@0.6.0: - resolution: - { integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA== } + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.7.0 @@ -3081,8 +2873,7 @@ packages: dev: true /@changesets/get-release-plan@4.0.0: - resolution: - { integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== } + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/assemble-release-plan': 6.0.0 @@ -3094,13 +2885,11 @@ packages: dev: true /@changesets/get-version-range-type@0.4.0: - resolution: - { integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== } + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true /@changesets/git@3.0.0: - resolution: - { integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== } + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3112,23 +2901,20 @@ packages: dev: true /@changesets/logger@0.1.0: - resolution: - { integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== } + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true /@changesets/parse@0.4.0: - resolution: - { integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== } + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true /@changesets/pre@2.0.0: - resolution: - { integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== } + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/errors': 0.2.0 @@ -3138,8 +2924,7 @@ packages: dev: true /@changesets/read@0.6.0: - resolution: - { integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== } + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/git': 3.0.0 @@ -3152,18 +2937,15 @@ packages: dev: true /@changesets/types@4.1.0: - resolution: - { integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== } + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true /@changesets/types@6.0.0: - resolution: - { integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== } + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true /@changesets/write@0.3.0: - resolution: - { integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== } + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 6.0.0 @@ -3172,57 +2954,45 @@ packages: prettier: 2.8.8 dev: true - /@cloudflare/workers-types@4.20240423.0: - resolution: - { integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw== } - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: - { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 /@dependents/detective-less@4.1.0: - resolution: - { integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /@edge-runtime/format@2.2.1: - resolution: - { integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== } - engines: { node: '>=16' } + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} dev: false /@edge-runtime/ponyfill@2.4.2: - resolution: - { integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} dev: false /@edge-runtime/primitives@4.1.0: - resolution: - { integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} dev: false /@edge-runtime/vm@3.2.0: - resolution: - { integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} dependencies: '@edge-runtime/primitives': 4.1.0 dev: false /@esbuild/aix-ppc64@0.19.11: - resolution: - { integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3230,9 +3000,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3240,9 +3009,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.11: - resolution: - { integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3250,9 +3018,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.2: - resolution: - { integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3260,9 +3027,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -3270,9 +3036,8 @@ packages: optional: true /@esbuild/android-arm@0.19.11: - resolution: - { integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3280,9 +3045,8 @@ packages: optional: true /@esbuild/android-arm@0.19.2: - resolution: - { integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3290,9 +3054,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -3300,9 +3063,8 @@ packages: optional: true /@esbuild/android-x64@0.19.11: - resolution: - { integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3310,9 +3072,8 @@ packages: optional: true /@esbuild/android-x64@0.19.2: - resolution: - { integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3320,9 +3081,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -3330,9 +3090,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.11: - resolution: - { integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3340,9 +3099,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.2: - resolution: - { integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3350,9 +3108,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3360,9 +3117,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.11: - resolution: - { integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3370,9 +3126,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.2: - resolution: - { integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3380,9 +3135,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3390,9 +3144,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.11: - resolution: - { integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3400,9 +3153,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.2: - resolution: - { integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3410,9 +3162,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3420,9 +3171,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.11: - resolution: - { integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3430,9 +3180,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.2: - resolution: - { integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3440,9 +3189,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3450,9 +3198,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.11: - resolution: - { integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3460,9 +3207,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.2: - resolution: - { integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3470,9 +3216,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -3480,9 +3225,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.11: - resolution: - { integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3490,9 +3234,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.2: - resolution: - { integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3500,9 +3243,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -3510,9 +3252,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.11: - resolution: - { integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3520,9 +3261,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.2: - resolution: - { integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3530,9 +3270,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -3540,9 +3279,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.11: - resolution: - { integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3550,9 +3288,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.2: - resolution: - { integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3560,9 +3297,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -3570,9 +3306,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.11: - resolution: - { integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3580,9 +3315,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.2: - resolution: - { integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3590,9 +3324,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -3600,9 +3333,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.11: - resolution: - { integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3610,9 +3342,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.2: - resolution: - { integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3620,9 +3351,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -3630,9 +3360,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.11: - resolution: - { integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3640,9 +3369,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.2: - resolution: - { integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3650,9 +3378,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -3660,9 +3387,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.11: - resolution: - { integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3670,9 +3396,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.2: - resolution: - { integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3680,9 +3405,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -3690,9 +3414,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.11: - resolution: - { integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3700,9 +3423,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.2: - resolution: - { integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3710,9 +3432,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -3720,9 +3441,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.11: - resolution: - { integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3730,9 +3450,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.2: - resolution: - { integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3740,9 +3459,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -3750,9 +3468,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.11: - resolution: - { integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3760,9 +3477,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.2: - resolution: - { integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3770,9 +3486,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -3780,9 +3495,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.11: - resolution: - { integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3790,9 +3504,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.2: - resolution: - { integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3800,9 +3513,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -3810,9 +3522,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.11: - resolution: - { integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3820,9 +3531,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.2: - resolution: - { integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3830,9 +3540,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -3840,9 +3549,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.11: - resolution: - { integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3850,9 +3558,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.2: - resolution: - { integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3860,9 +3567,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -3870,9 +3576,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.11: - resolution: - { integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3880,9 +3585,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.2: - resolution: - { integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3890,9 +3594,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -3900,9 +3603,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): - resolution: - { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -3911,15 +3613,13 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: - { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@3.0.2: - resolution: - { integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -3935,25 +3635,21 @@ packages: dev: true /@eslint/js@9.1.1: - resolution: - { integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /@exodus/schemasafe@1.3.0: - resolution: - { integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw== } + resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true /@faker-js/faker@8.4.1: - resolution: - { integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13' } + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@15.8.0): - resolution: - { integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3961,17 +3657,15 @@ packages: dev: true /@grpc/grpc-js@1.9.3: - resolution: - { integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA== } - engines: { node: ^8.13.0 || >=10.10.0 } + resolution: {integrity: sha512-b8iWtdrYIeT5fdZdS4Br/6h/kuk0PW5EVBUGk1amSbrpL8DlktJD43CdcCWwRdd6+jgwHhADSbL9CsNnm6EUPA==} + engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.10 '@types/node': 20.12.7 /@grpc/proto-loader@0.7.10: - resolution: - { integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + engines: {node: '>=6'} hasBin: true dependencies: lodash.camelcase: 4.3.0 @@ -3980,9 +3674,8 @@ packages: yargs: 17.7.2 /@honeycombio/opentelemetry-node@0.4.0(supports-color@9.4.0): - resolution: - { integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6PFX8FGW7uA7vQ3mxNIoN36rH9Zx5kXh4kKP9zu28nynyWyy9JE3l8PNJYd9FS2L/d88ZUpQAiQ1pROaANd5MA==} + engines: {node: '>=14'} dependencies: '@grpc/grpc-js': 1.9.3 '@opentelemetry/api': 1.8.0 @@ -4001,9 +3694,8 @@ packages: dev: false /@humanwhocodes/config-array@0.13.0: - resolution: - { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@9.4.0) @@ -4013,63 +3705,54 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/momoa@2.0.4: - resolution: - { integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA== } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} dev: false /@humanwhocodes/object-schema@2.0.3: - resolution: - { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@humanwhocodes/retry@0.2.3: - resolution: - { integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g== } - engines: { node: '>=18.18' } + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} dev: true /@import-maps/resolve@1.0.1: - resolution: - { integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA== } + resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} dev: false /@inquirer/confirm@3.1.4: - resolution: - { integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.5: - resolution: - { integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.1 '@inquirer/type': 1.3.0 dev: true /@inquirer/confirm@3.1.6: - resolution: - { integrity: sha512-Mj4TU29g6Uy+37UtpA8UpEOI2icBfpCwSW1QDtfx60wRhUy90s/kHPif2OXSSvuwDQT1lhAYRWUfkNf9Tecxvg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Mj4TU29g6Uy+37UtpA8UpEOI2icBfpCwSW1QDtfx60wRhUy90s/kHPif2OXSSvuwDQT1lhAYRWUfkNf9Tecxvg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.1.0 '@inquirer/type': 1.3.1 /@inquirer/core@7.1.2: - resolution: - { integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-ne5VhDqruYYzx8mmjDZ9F58ymrLJGxmSHJUcJGiW3tifzvl3goAm6gNX11w6+zUnGE54vgQ6ALDXL3IOSezMRw==} + engines: {node: '>=18'} dependencies: '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 @@ -4087,9 +3770,8 @@ packages: dev: true /@inquirer/core@8.0.0: - resolution: - { integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -4107,9 +3789,8 @@ packages: dev: true /@inquirer/core@8.0.1: - resolution: - { integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.0 @@ -4127,9 +3808,8 @@ packages: dev: true /@inquirer/core@8.1.0: - resolution: - { integrity: sha512-kfx0SU9nWgGe1f03ao/uXc85SFH1v2w3vQVH7QDGjKxdtJz+7vPitFtG++BTyJMYyYgH8MpXigutcXJeiQwVRw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-kfx0SU9nWgGe1f03ao/uXc85SFH1v2w3vQVH7QDGjKxdtJz+7vPitFtG++BTyJMYyYgH8MpXigutcXJeiQwVRw==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.1 @@ -4146,29 +3826,25 @@ packages: wrap-ansi: 6.2.0 /@inquirer/figures@1.0.0: - resolution: - { integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} dev: true /@inquirer/figures@1.0.1: - resolution: - { integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + engines: {node: '>=18'} /@inquirer/input@2.1.1: - resolution: - { integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Ag5PDh3/V3B68WGD/5LKXDqbdWKlF7zyfPAlstzu0NoZcZGBbZFjfgXlZIcb6Gs+AfdSi7wNf7soVAaMGH7moQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 dev: true /@inquirer/select@2.2.1: - resolution: - { integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-JR4FeHvuxPSPWQy8DzkIvoIsJ4SWtSFb4xVLvLto84dL+jkv12lm8ILtuax4bMHvg5MBj3wYUF6Tk9izJ07gdw==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 7.1.2 '@inquirer/type': 1.3.0 @@ -4178,20 +3854,17 @@ packages: dev: true /@inquirer/type@1.3.0: - resolution: - { integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} dev: true /@inquirer/type@1.3.1: - resolution: - { integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw==} + engines: {node: '>=18'} /@isaacs/cliui@8.0.2: - resolution: - { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -4202,17 +3875,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/types@27.5.1: - resolution: - { integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 @@ -4222,45 +3893,38 @@ packages: dev: false /@jridgewell/gen-mapping@0.3.5: - resolution: - { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/resolve-uri@3.1.1: - resolution: - { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.2.1: - resolution: - { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} /@jridgewell/trace-mapping@0.3.25: - resolution: - { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: - resolution: - { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 /@manypkg/find-root@1.1.0: - resolution: - { integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== } + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: '@babel/runtime': 7.23.1 '@types/node': 12.20.55 @@ -4269,8 +3933,7 @@ packages: dev: true /@manypkg/get-packages@1.1.3: - resolution: - { integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== } + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: '@babel/runtime': 7.23.1 '@changesets/types': 4.1.0 @@ -4281,8 +3944,7 @@ packages: dev: true /@mapbox/node-pre-gyp@1.0.11(supports-color@9.4.0): - resolution: - { integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== } + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: detect-libc: 2.0.2 @@ -4300,15 +3962,13 @@ packages: dev: false /@mswjs/cookies@1.1.0: - resolution: - { integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} + engines: {node: '>=18'} dev: true /@mswjs/interceptors@0.26.15: - resolution: - { integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ==} + engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4319,14 +3979,12 @@ packages: dev: true /@netlify/binary-info@1.0.0: - resolution: - { integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw== } + resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} dev: false /@netlify/build@29.20.6(@types/node@20.12.7): - resolution: - { integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-AynL2Sn1bKMYzB4e05CsDObQYDVSN11f1rJCO/41iafmxhXXQWIYR3Q7qZeK30C4uHSk4WjhD/K18PBgQDsjhw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: '@bugsnag/js': 7.21.0 @@ -4394,9 +4052,8 @@ packages: dev: false /@netlify/cache-utils@5.1.5: - resolution: - { integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: cpy: 9.0.1 get-stream: 6.0.1 @@ -4409,9 +4066,8 @@ packages: dev: false /@netlify/config@20.9.0: - resolution: - { integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-+bKrRDhoUiZbAbdILPtlF5tmR1Ttt6plHQawQVByw9fHaQZ0Kxh6hA896sVFgkR1wGqu2v/5OFhH2t9eJO0nuw==} + engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: chalk: 5.3.0 @@ -4441,9 +4097,8 @@ packages: dev: false /@netlify/edge-bundler@8.18.0: - resolution: - { integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-X/69KCnfEEgQSJ9YPSYvAooquXdISpWhuWnzEjmLXsoaE+V6KD58MaaQh/WaA6B5NxdlV6M/dd8ewy75lP+ZOQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@import-maps/resolve': 1.0.1 ajv: 8.12.0 @@ -4470,9 +4125,8 @@ packages: dev: false /@netlify/esbuild-android-64@0.14.39-1: - resolution: - { integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/rZn0xVfTLVjx0SLvToydTTpvNwrlFqxW++Lqen7CXubTJNFnZQH0hP/qMCILac41zvSipxyU5/Di9mWHoLv9Q==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4480,9 +4134,8 @@ packages: optional: true /@netlify/esbuild-android-arm64@0.14.39-1: - resolution: - { integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Wnjsv5djKQ2NwKaDj2P5DpvNAFhQIQBer2IqVCQ8u0ykdyr+y+u5CmM1ZnrzBnDUULk5TYwPlUNt3p2NctSnLQ==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4490,9 +4143,8 @@ packages: optional: true /@netlify/esbuild-darwin-64@0.14.39-1: - resolution: - { integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rHQmZcS+1qC9bL1EwFQ8SGqiKrIUQLam9ty2bcsEH78525NoAW8f/ENollQlso1K8lSkcn+KzX7i09FdRL0TLQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4500,9 +4152,8 @@ packages: optional: true /@netlify/esbuild-darwin-arm64@0.14.39-1: - resolution: - { integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Ytz9SY7BjtBnrZL4qCsKJ/xyjJyH2LFLV3kv3DhY5X+eUUBsjdCAq2VVY9zLnvkNf5Sef/U35Jie2O0sl+3E1g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4510,9 +4161,8 @@ packages: optional: true /@netlify/esbuild-freebsd-64@0.14.39-1: - resolution: - { integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TsOZCldbxEOB4Rv5tudYCkPkfHklmOWQgRPoz3wsmJDUpLwljOQFru4J0uCRqKKGLALo1qBBQvzofQi+5dvTzQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4520,9 +4170,8 @@ packages: optional: true /@netlify/esbuild-freebsd-arm64@0.14.39-1: - resolution: - { integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-wJbKm1eijTiots/RgDOZjbqcZaCVElPjegRit0LkbAQnqfBc2B8F6j7CkUgbWg1hU2+YJFiMGhaRMljN9jpCVQ==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4530,9 +4179,8 @@ packages: optional: true /@netlify/esbuild-linux-32@0.14.39-1: - resolution: - { integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rSCpXot5p3zUpwnC9ttKtP+vWf3gT1CkzJwEBHqqIr0GmgTLoADMaZ1AZqq125DyCvPf2s9f98XtSWaHmIqN8w==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4540,9 +4188,8 @@ packages: optional: true /@netlify/esbuild-linux-64@0.14.39-1: - resolution: - { integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lx+tQR7OW9Sq8WrP+zJ20lpJFHe4jvO56czUjJe7iSYtu0mpbApnJc2p4KqakU4xdjMdlqsUDG6L7GqE4+dNxQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4550,9 +4197,8 @@ packages: optional: true /@netlify/esbuild-linux-arm64@0.14.39-1: - resolution: - { integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-e1gEB3+1WWsvBNDrPIq43hkUmWx9CkN5DVfcHa9Ar55DY8G9DRl5MyCFVpYVPctoWLRMlt1VRwPuc5YfSTXZbw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4560,9 +4206,8 @@ packages: optional: true /@netlify/esbuild-linux-arm@0.14.39-1: - resolution: - { integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O2w4oRYNoavKyednlkCnxr7VnfizpWurCxKraRyKQ4XIQbv3bqtgK/VSt1cJMwm+7+BdGNsqux4wAKmwsdW+Zw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4570,9 +4215,8 @@ packages: optional: true /@netlify/esbuild-linux-mips64le@0.14.39-1: - resolution: - { integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-SKDBxNiJmTD1HYlmq6GWbz7dBtz1lYg28Y8RLo2Yj/jZtkVzZbMS0sVhB05FAzQhGT+m1bFLSrbLJkfmbzoQXg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4580,9 +4224,8 @@ packages: optional: true /@netlify/esbuild-linux-ppc64le@0.14.39-1: - resolution: - { integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cKIoVrHn6qJf1cTKCaOQvXKpcpSwCShzNkEQNtWCEFvlHJ817lsVaWqQm01qDQ9pGrDbhZRsUAIOkwsjLrKDmA==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4590,9 +4233,8 @@ packages: optional: true /@netlify/esbuild-linux-riscv64@0.14.39-1: - resolution: - { integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-W6gQyJc52lFoPj0w6AoQCfa8/fmwsC6CrT80JKe+fF4mYwBUnySbRVldMDb/cb6qCqHt5m3X+w7HFS5soPGT5Q==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4600,9 +4242,8 @@ packages: optional: true /@netlify/esbuild-linux-s390x@0.14.39-1: - resolution: - { integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-IN4agxUutc0BbcAMDDVuz60bDKFEGlq+vZlPzeLnketkVs/5BZj1vfoS8hJJelvR/mB99G9YjyOm08EthqoyHw==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4610,9 +4251,8 @@ packages: optional: true /@netlify/esbuild-netbsd-64@0.14.39-1: - resolution: - { integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-cnvcQ6u7QtjnxFcMYtEUqOYg8wTfLOSoc6nFPhjIE4074Tw/H48LFqFq0v2Gtgvc5neUZtxBF2+6QMX4Q91vwQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4620,9 +4260,8 @@ packages: optional: true /@netlify/esbuild-openbsd-64@0.14.39-1: - resolution: - { integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-14fDX08hM0rWzUO7uf7Wxg9uL5SK5AqSDe+vXviIL+gWGN2vHoakRbzZoLVHFwoTLT5/1oIUYDJfcmcrFm1rjw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4630,9 +4269,8 @@ packages: optional: true /@netlify/esbuild-sunos-64@0.14.39-1: - resolution: - { integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-TDUJGI077mAM3qotUfN/DcKaBq3nLeAdNwjsWulKgdC3UwC/iqyrYrnmZipEbiHO2jt4+wRFUz/s/x+HeDiblg==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4640,9 +4278,8 @@ packages: optional: true /@netlify/esbuild-windows-32@0.14.39-1: - resolution: - { integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Jyf5OUm+Guo7+SoIURTfmzqri10xj18qdgxwy3NNsQG/Eg1XLETDORWH0cKy6YTiRDuqeCsZeXDoAQABOs30gQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4650,9 +4287,8 @@ packages: optional: true /@netlify/esbuild-windows-64@0.14.39-1: - resolution: - { integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-D41xhwJN90qeLebZrb853zhGJahIlCf+HPKwxVZx+Nk8BNV09jQyJ2GYqmmwRxNOrbzqD80+pgvoYkq4a4OV0g==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -4660,9 +4296,8 @@ packages: optional: true /@netlify/esbuild-windows-arm64@0.14.39-1: - resolution: - { integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-EGzYwc+MoKhWnz+6iUbXQKcQKV8FbPovDJkmY9YWGkgSwZALPo4DpjSaMLW6hv42YRyoBRM1NP/v/qmVtgeJjQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4670,9 +4305,8 @@ packages: optional: true /@netlify/esbuild@0.14.39-1: - resolution: - { integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FkS9R3aeD1JvPhEZh9r4GfXGLHoqzAsS3haqIeFfQ907irkGzCg1w5r5OWuSqPtLNyaGklVWz/HU0IsM8thyZw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -4699,9 +4333,8 @@ packages: dev: false /@netlify/framework-info@9.8.10: - resolution: - { integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-VT8ejAaB/XU2xRpdpQinHUO1YL3+BMx6LJ49wJk2u9Yq/VI1/gYCi5VqbqTHBQXJUlOi84YuiRlrDBsLpPr8eg==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: ajv: 8.12.0 filter-obj: 5.1.0 @@ -4716,9 +4349,8 @@ packages: dev: false /@netlify/functions-utils@5.2.29(supports-color@9.4.0): - resolution: - { integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ZISdLE1ha9xMv7smFQ2ey37Gjw3t1W450lhc+oc3vyCzWqjgZIfTRxG8YT30iiYiXonjvs9M63TE3c0ebVf1AQ==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/zip-it-and-ship-it': 9.18.1(supports-color@9.4.0) cpy: 9.0.1 @@ -4729,9 +4361,8 @@ packages: dev: false /@netlify/git-utils@5.1.1: - resolution: - { integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-oyHieuTZH3rKTmg7EKpGEGa28IFxta2oXuVwpPJI/FJAtBje3UE+yko0eDjNufgm3AyGa8G77trUxgBhInAYuw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 map-obj: 5.0.2 @@ -4741,43 +4372,37 @@ packages: dev: false /@netlify/node-cookies@0.1.0: - resolution: - { integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} dev: false /@netlify/open-api@2.22.0: - resolution: - { integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow== } + resolution: {integrity: sha512-jlpwVEln1SRDu4+Cc9ifzPtAk6UV4UUHBGi7/P0r05LIgYH7ygdctyxgCR6wJ4ULlqOqVyzclWV63W8dNMepow==} dev: false /@netlify/plugins-list@6.71.0: - resolution: - { integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-sKMRRAzDHG+UeFYkcxAvrAxcYKPJasksGfZ5jegEpBGsHi8F4Ilkadfm9gIvq2V1dl+6El+QupPlw2YTeVRdvA==} + engines: {node: ^14.14.0 || >=16.0.0} dev: false /@netlify/run-utils@5.1.1: - resolution: - { integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: execa: 6.1.0 dev: false /@netlify/serverless-functions-api@1.7.3: - resolution: - { integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-n6/7cJlSWvvbBlUOEAbkGyEld80S6KbG/ldQI9OhLfe1lTatgKmrTNIgqVNpaWpUdTgP2OHWFjmFBzkxxBWs5w==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 dev: false /@netlify/zip-it-and-ship-it@9.16.0(supports-color@9.4.0): - resolution: - { integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xj+JH+yXOcApMDXmvXRykS28jvAjDO3+AfJWf0XCKO64bdv7pYjE0+Ih21qeF6pmpUTCpaTxtA6JIlZReLndgg==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4818,9 +4443,8 @@ packages: dev: false /@netlify/zip-it-and-ship-it@9.18.1(supports-color@9.4.0): - resolution: - { integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-XOIqPHUSe5Tstzf4QUrEaCm9dH0QGpm8M3efKcRQr8IXKM10zNH7SZ43ovyv3GxULpvbndLUtGi4bdARaMxAxw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true dependencies: '@babel/parser': 7.24.1 @@ -4861,30 +4485,26 @@ packages: dev: false /@nodelib/fs.scandir@2.1.5: - resolution: - { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 /@nodelib/fs.stat@2.0.5: - resolution: - { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} /@nodelib/fs.walk@1.2.8: - resolution: - { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 /@oclif/core@3.26.4: - resolution: - { integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w==} + engines: {node: '>=18.0.0'} dependencies: '@types/cli-progress': 3.11.5 ansi-escapes: 4.3.2 @@ -4916,16 +4536,14 @@ packages: wrap-ansi: 7.0.0 /@oclif/plugin-help@6.0.21: - resolution: - { integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-w860r9d456xhw1GPaos9yQF+BZeFY9UKdrINbL3fZFX5ZHhr/zGT4Fep5wUkHogjjnSB8+ZHi3D6j2jScIizUw==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 /@oclif/plugin-not-found@3.1.7: - resolution: - { integrity: sha512-fGR1gJE7X6BX3QHAtVX4Tg3T04mrnhtCIGzksQYYcelSftTS0nASnQ3uDacdGwbUPqaEq7HfUyh/G7WRIRxcrw== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-fGR1gJE7X6BX3QHAtVX4Tg3T04mrnhtCIGzksQYYcelSftTS0nASnQ3uDacdGwbUPqaEq7HfUyh/G7WRIRxcrw==} + engines: {node: '>=18.0.0'} dependencies: '@inquirer/confirm': 3.1.6 '@oclif/core': 3.26.4 @@ -4933,9 +4551,8 @@ packages: fast-levenshtein: 3.0.0 /@oclif/plugin-plugins@5.0.16: - resolution: - { integrity: sha512-4fYOQQ9kfi56r+gooRJai47/YNZFco46Hydzdg+1W9BZ78TyzqnQf1OC6vYelUudemUH0xlzBYcIzLcwUf3uPA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-4fYOQQ9kfi56r+gooRJai47/YNZFco46Hydzdg+1W9BZ78TyzqnQf1OC6vYelUudemUH0xlzBYcIzLcwUf3uPA==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4952,9 +4569,8 @@ packages: dev: false /@oclif/plugin-warn-if-update-available@3.0.15: - resolution: - { integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-JtPTJFjL6izMCe5dDS2ix2PyWAD2DeJ5Atzd2HHRifbPcmOxaUE62FKTnarIwfPHLMF/nN33liwo9InAdirozg==} + engines: {node: '>=18.0.0'} dependencies: '@oclif/core': 3.26.4 chalk: 5.3.0 @@ -4966,26 +4582,22 @@ packages: dev: true /@open-draft/deferred-promise@2.2.0: - resolution: - { integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== } + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} dev: true /@open-draft/logger@0.3.0: - resolution: - { integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== } + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} dependencies: is-node-process: 1.2.0 outvariant: 1.4.2 dev: true /@open-draft/until@2.1.0: - resolution: - { integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== } + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@openapi-codegen/cli@2.0.1(react@17.0.2): - resolution: - { integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ== } + resolution: {integrity: sha512-Aog4E/N6cEzbR48tN9exgNSZNZW335f2ZM4GEVPM20hPrVGlYoE5if0Twc0In0mVc8u1aCLAr7kztknAoRWpmQ==} hasBin: true dependencies: '@apollo/client': 3.8.4(graphql@15.8.0)(react@17.0.2) @@ -5021,8 +4633,7 @@ packages: dev: true /@openapi-codegen/typescript@8.0.1: - resolution: - { integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ== } + resolution: {integrity: sha512-bD92QpjaAsfAUdR2xw4/H/dvYXtWKISbvwGerif+ymFJBgzVtww9XSeC+9Mn+tmgBvsLJarvq3k6VMKiVR84PQ==} dependencies: case: 1.6.3 lodash: 4.17.21 @@ -5034,22 +4645,19 @@ packages: dev: true /@opentelemetry/api-logs@0.51.0: - resolution: - { integrity: sha512-m/jtfBPEIXS1asltl8fPQtO3Sb1qMpuL61unQajUmM8zIxeMF1AlqzWXM3QedcYgTTFiJCew5uJjyhpmqhc0+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-m/jtfBPEIXS1asltl8fPQtO3Sb1qMpuL61unQajUmM8zIxeMF1AlqzWXM3QedcYgTTFiJCew5uJjyhpmqhc0+g==} + engines: {node: '>=14'} dependencies: '@opentelemetry/api': 1.8.0 dev: true /@opentelemetry/api@1.8.0: - resolution: - { integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} /@opentelemetry/context-async-hooks@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6CC9sWOZDkUkKrAR957fmxXXlaK3uiBu5xVnuNEQ7hI7VqkUC/r0mNYIql0ouRInLz5o0HwmDuga1eXgQU7KNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5057,9 +4665,8 @@ packages: dev: false /@opentelemetry/context-async-hooks@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-s7xaQ9ifDpJvwbWRLkZD/J5hY35w+MECm4TQUkg6szRcny9lf6oVhWij4w3JJFQgvHQMXU7oXOpX8Z05HxV/8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-s7xaQ9ifDpJvwbWRLkZD/J5hY35w+MECm4TQUkg6szRcny9lf6oVhWij4w3JJFQgvHQMXU7oXOpX8Z05HxV/8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5067,9 +4674,8 @@ packages: dev: true /@opentelemetry/core@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-uBZs9poKMWX7WWHsRfaGHqvrn77D9EU5LwU8Ge3YKD/Su5Gy+T1v476l49nl1UOzEMNo4cISao3nIqQVsABB8g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5078,9 +4684,8 @@ packages: dev: false /@opentelemetry/core@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5089,9 +4694,8 @@ packages: dev: false /@opentelemetry/core@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-FP2oN7mVPqcdxJDTTnKExj4mi91EH+DNuArKfHTjPuJWe2K1JfMIVXNfahw1h3onJxQnxS8K0stKkogX05s+Aw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-FP2oN7mVPqcdxJDTTnKExj4mi91EH+DNuArKfHTjPuJWe2K1JfMIVXNfahw1h3onJxQnxS8K0stKkogX05s+Aw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5099,9 +4703,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/exporter-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bZIoSD6M7uxO19HtRJCAceAahX56LUmj5N/XQFHmoi3iFqA2JfR7bqsyHQCYbgINdiee155UejaqkNpgvjV7fw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5113,9 +4716,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yQPHny0Y3HIE1BSqbN82MoqqbbJeLINjL7Qf3kJwv1zt5YLUhYbn3FkqHQWS0YWpAvdjK0/OcN40SjEbVz2HRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5130,9 +4732,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JcpEBwtBpNhVvmCLH3zjTPDcOld2AeI5rNglv2JrB16QCxQ5pwsOgzw7mPe/UR4u/53Ij7LIjFTOCeyVto/6aA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5145,9 +4746,8 @@ packages: dev: false /@opentelemetry/exporter-metrics-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-dKJRKvIiyupuZJOVCzW9wNfsK6RxkELnzCSJHzFoIwhGRXSYpbWyYrfHj4ZJZWYZiQSJ7+I8BFUa4aSkBgnO0w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5162,9 +4762,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-U2HdWvQho2VkeSAcAhkZ2wjfUb/1SKQixo5x6LNBF17ES4QYuh5+BagYxfN5FP4dbLnjZpTtFk5lj+97lfNLEw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5178,9 +4777,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-grpc@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-xQpxKzS8ZnxYCa1v+3EKWhwMrSK3+RezpJ+AEKaP2pf2QbLfHt7kKfSn7niR2u3A1Tbe2aC7Ptt9+MafhThOOQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-xQpxKzS8ZnxYCa1v+3EKWhwMrSK3+RezpJ+AEKaP2pf2QbLfHt7kKfSn7niR2u3A1Tbe2aC7Ptt9+MafhThOOQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5194,9 +4792,8 @@ packages: dev: true /@opentelemetry/exporter-trace-otlp-http@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig== } - engines: { node: '>=14' } + resolution: {integrity: sha512-q/jKlfuKiHqltDzgzgEvXkoEJ/EyVSIAZhfiaoyBeQ49UhHCPvNTH36/hSwbGSEhKeX98WxXZK4NB/S3sUs8ig==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5209,9 +4806,8 @@ packages: dev: false /@opentelemetry/exporter-trace-otlp-proto@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-pNfrto7amygyyhmL4Kf96wuepROEecBYXSrtoXIVb1aUhUqjWLsA3/6DR3unB5EfSRA1Oq1Z9bqHfNuKqGfPNw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5225,9 +4821,8 @@ packages: dev: false /@opentelemetry/exporter-zipkin@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-8gF8MjcFf6IhQ7vm6W4tPYtu/vQswYVzpYvk3pUSaX9BMGrwgjeXg+LpuRtaxGoiGd08/g7JjZ4sWLUaELnzWw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5239,9 +4834,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-gtYErugMEF5NXVacmuE+tHFBiyB82YIiO5l8iZX9/4R4TDV8uCWdrLW5QZMqgTzPhiyOG9AITFdqhwIZMw/5lA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5254,9 +4848,8 @@ packages: dev: false /@opentelemetry/instrumentation@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-Eg/+Od5bEvzpvZQGhvMyKIkrzB9S7jW+6z9LHEI2VXhl/GrqQ3oBqlzJt4tA6pGtxRmqQWKWGM1wAbwDdW/gUA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Eg/+Od5bEvzpvZQGhvMyKIkrzB9S7jW+6z9LHEI2VXhl/GrqQ3oBqlzJt4tA6pGtxRmqQWKWGM1wAbwDdW/gUA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 dependencies: @@ -5272,9 +4865,8 @@ packages: dev: true /@opentelemetry/otlp-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-fpjPwLafJIjgxY5qx7Ly74AYmRCd9spC6/jCxvEgGheg1YT4+NkfVnrfllxLRgc9wQNhDj7Y0Knp8RcmXLLVfA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5283,9 +4875,8 @@ packages: dev: false /@opentelemetry/otlp-exporter-base@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-hR4c9vWVz1QgzCBSyy9zSDkvfTgaK96E6/tfVP6O4dzdZW9HqWimA3lXV/KXadEGqShvM4GToz9EHp2A5RU5bQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-hR4c9vWVz1QgzCBSyy9zSDkvfTgaK96E6/tfVP6O4dzdZW9HqWimA3lXV/KXadEGqShvM4GToz9EHp2A5RU5bQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5294,9 +4885,8 @@ packages: dev: true /@opentelemetry/otlp-grpc-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-71TdQ3Z0D2Trq8rc2UMvky7tmIpg8kVPUhdYH3p0tNsTmbx6GDpEBOpjp2/zCFvQ0SZFVfHH2Oj2OZxZiz+FNQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5308,9 +4898,8 @@ packages: dev: false /@opentelemetry/otlp-grpc-exporter-base@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-oTRtDvvB0bTRTBVrvKA/oM1gIAqQ6DVQS07pvqiL1cZS8wBrGgpw+2iTd0nV661Y/MhDn/kNWp8lRhMEIKN9bw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-oTRtDvvB0bTRTBVrvKA/oM1gIAqQ6DVQS07pvqiL1cZS8wBrGgpw+2iTd0nV661Y/MhDn/kNWp8lRhMEIKN9bw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5322,9 +4911,8 @@ packages: dev: true /@opentelemetry/otlp-proto-exporter-base@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-9ErknJ5fS7r2NxEFeca93H+pGWnCjZCUWsz6Stcj5/z2rgsiZGHXLz3fQoUGQz+iXjiXKkks9wxTCRgWOW+Yiw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: @@ -5335,9 +4923,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.36.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-d2MomkVHBHwfsmNz6E60s/sm7gtpSjFwDzkFLm9brVq//VXzEhaEyfYSeTabdUs4BmrzhqTIogHWlcd6cOiL+w==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5349,9 +4936,8 @@ packages: dev: false /@opentelemetry/otlp-transformer@0.51.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ylLgx2xumVoSefDHP9GMAU/LG+TU3+8eacVDXV5o1RqWxsdVOaQmCTY0XyDgeRTn6hIOVAq/HHQbRq3iWOrt2A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ylLgx2xumVoSefDHP9GMAU/LG+TU3+8eacVDXV5o1RqWxsdVOaQmCTY0XyDgeRTn6hIOVAq/HHQbRq3iWOrt2A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5365,9 +4951,8 @@ packages: dev: true /@opentelemetry/propagator-b3@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YrWqU93PH8RyCmqGhtDZgyk64D+cp8XIjQsLhEgOPcOsxvxSSGXnGt46rx9Z8+WdIbJgj13Q4nV/xuh36k+O+A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5376,9 +4961,8 @@ packages: dev: false /@opentelemetry/propagator-b3@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-7TMIDE4+NO5vnkor+zned42wqca+hmhW5gWKhmYjUHC5B5uojo1PvtmBrd7kigFu96XvL4ZUWVzibWRWIQ/++Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7TMIDE4+NO5vnkor+zned42wqca+hmhW5gWKhmYjUHC5B5uojo1PvtmBrd7kigFu96XvL4ZUWVzibWRWIQ/++Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5387,9 +4971,8 @@ packages: dev: true /@opentelemetry/propagator-jaeger@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qvwFfDPoBw2YQW/OsGHdLdD/rqNRGBRLz5UZR/akO21C4qwIK+lQcXbSi5ve0p2eLHnFshhNFqDmgQclOYBcmg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5398,9 +4981,8 @@ packages: dev: false /@opentelemetry/propagator-jaeger@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-r3MX3AmJiUeiWTXSDOdwBeaO+ahvWcFCpuKxmhhsH8Q8LqDnjhNd3krqBh4Qsq9wa0WhWtiQaDs/NOCWoMOlOw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-r3MX3AmJiUeiWTXSDOdwBeaO+ahvWcFCpuKxmhhsH8Q8LqDnjhNd3krqBh4Qsq9wa0WhWtiQaDs/NOCWoMOlOw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5409,9 +4991,8 @@ packages: dev: true /@opentelemetry/resources@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-e+wwdyO44jZtsT1aqGiWMFOfN1XuP9Tv4+H0OYP3yQajBtGdsZjdSUn9UNjw46JsW0Mb+RaTxJwsb2uvfHar0g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5421,9 +5002,8 @@ packages: dev: false /@opentelemetry/resources@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.8.0' dependencies: @@ -5433,9 +5013,8 @@ packages: dev: false /@opentelemetry/resources@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-mxC7E7ocUS1tLzepnA7O9/G8G6ZTdjCH2pXme1DDDuCuk6n2/53GADX+GWBuyX0dfIxeMInIbJAdjlfN9GNr6A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-mxC7E7ocUS1tLzepnA7O9/G8G6ZTdjCH2pXme1DDDuCuk6n2/53GADX+GWBuyX0dfIxeMInIbJAdjlfN9GNr6A==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5444,9 +5023,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/sdk-logs@0.51.0(@opentelemetry/api-logs@0.51.0)(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-K4fMBRFD8hQ6khk0rvYFuo6L9ymeGgByir6BcuFIgQuQ00OhYwBi9AruZz5V733Ejq7P8ObR3YyubkOUIbeVAw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K4fMBRFD8hQ6khk0rvYFuo6L9ymeGgByir6BcuFIgQuQ00OhYwBi9AruZz5V733Ejq7P8ObR3YyubkOUIbeVAw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.9.0' '@opentelemetry/api-logs': '>=0.39.1' @@ -5458,9 +5036,8 @@ packages: dev: true /@opentelemetry/sdk-metrics@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ARAD4e6lZhLwstwW+1HG2Q3XuYFA/t8vn10KK/mA4em1pZYKFn64c45RJZJcntxWp4wOZRbp9iL1RXsg7zIjow==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5471,9 +5048,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.18.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.8.0' dependencies: @@ -5484,9 +5060,8 @@ packages: dev: false /@opentelemetry/sdk-metrics@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-4tJ+E6N019OZVB/nUW/LoK9xHxfeh88TCoaTqHeLBE9wLYfi6irWW6J9cphMav7J8Qk0D5b7/RM4VEY4dArWOA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-4tJ+E6N019OZVB/nUW/LoK9xHxfeh88TCoaTqHeLBE9wLYfi6irWW6J9cphMav7J8Qk0D5b7/RM4VEY4dArWOA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.9.0' dependencies: @@ -5497,9 +5072,8 @@ packages: dev: true /@opentelemetry/sdk-node@0.36.1(@opentelemetry/api@1.8.0)(supports-color@9.4.0): - resolution: - { integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-7cRIxls3Ccg6HmzSu30R5upi0yHEizab2rm2rATrAyFV3JJ/ISA7cojmwKwYG8p4rkPNNPLOwCxI3vlLJrBnKA==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.5.0' dependencies: @@ -5521,9 +5095,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jutSP5t22wrPKReJKzI5uKht4mJ4cQdF/mGFJkN+emFFsDXru9CuFv/NfUrD0jEqoaaiqjcZtPSyTzMgu9LXvw==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5534,9 +5107,8 @@ packages: dev: false /@opentelemetry/sdk-trace-base@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-H9sLETZ4jw9UJ3totV8oM5R0m4CW0ZIOLfp4NV3g0CM8HD5zGZcaW88xqzWDgiYRpctFxd+WmHtGX/Upoa2vRg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-H9sLETZ4jw9UJ3totV8oM5R0m4CW0ZIOLfp4NV3g0CM8HD5zGZcaW88xqzWDgiYRpctFxd+WmHtGX/Upoa2vRg==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5546,9 +5118,8 @@ packages: '@opentelemetry/semantic-conventions': 1.24.0 /@opentelemetry/sdk-trace-node@1.10.1(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-/y+s1j8rPTaKnPnbrsbYv3ygTb4hjx/1H32zqobFr85cvWX+Tt1RWmcZ51TaPAfq5uJobGFhhLh6ADI2RDvk5Q==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.5.0' dependencies: @@ -5562,9 +5133,8 @@ packages: dev: false /@opentelemetry/sdk-trace-node@1.24.0(@opentelemetry/api@1.8.0): - resolution: - { integrity: sha512-QgByHmM9uloTpcYEEyW9YJEIMKHFSIM677RH9pJPWWwtM2NQFbEp/8HIJw80Ymtaz6cAxg1Kay1ByqIVzq3t5g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-QgByHmM9uloTpcYEEyW9YJEIMKHFSIM677RH9pJPWWwtM2NQFbEp/8HIJw80Ymtaz6cAxg1Kay1ByqIVzq3t5g==} + engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.9.0' dependencies: @@ -5578,86 +5148,70 @@ packages: dev: true /@opentelemetry/semantic-conventions@1.10.1: - resolution: - { integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-qiAueuCoN+1YEuHNXnsct9bkbroZBPd7QwQgd56YURG0LBRVHwE/lF6FOprfUvp1n1tu0O6+E3s6x+dmUndXFQ==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.18.1: - resolution: - { integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==} + engines: {node: '>=14'} dev: false /@opentelemetry/semantic-conventions@1.24.0: - resolution: - { integrity: sha512-yL0jI6Ltuz8R+Opj7jClGrul6pOoYrdfVmzQS4SITXRPH7I5IRZbrwe/6/v8v4WYMa6MYZG480S1+uc/IGfqsA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-yL0jI6Ltuz8R+Opj7jClGrul6pOoYrdfVmzQS4SITXRPH7I5IRZbrwe/6/v8v4WYMa6MYZG480S1+uc/IGfqsA==} + engines: {node: '>=14'} /@pkgjs/parseargs@0.11.0: - resolution: - { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@protobufjs/aspromise@1.1.2: - resolution: - { integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== } + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} /@protobufjs/base64@1.1.2: - resolution: - { integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== } + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} /@protobufjs/codegen@2.0.4: - resolution: - { integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== } + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} /@protobufjs/eventemitter@1.1.0: - resolution: - { integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== } + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} /@protobufjs/fetch@1.1.0: - resolution: - { integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== } + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 /@protobufjs/float@1.0.2: - resolution: - { integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== } + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} /@protobufjs/inquire@1.1.0: - resolution: - { integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== } + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} /@protobufjs/path@1.1.2: - resolution: - { integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== } + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} /@protobufjs/pool@1.1.0: - resolution: - { integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== } + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} /@protobufjs/utf8@1.1.0: - resolution: - { integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== } + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} /@rollup/pluginutils@4.2.1: - resolution: - { integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 dev: false /@rollup/pluginutils@5.0.5(rollup@4.17.1): - resolution: - { integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -5671,8 +5225,7 @@ packages: dev: true /@rollup/rollup-android-arm-eabi@4.17.1: - resolution: - { integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q== } + resolution: {integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q==} cpu: [arm] os: [android] requiresBuild: true @@ -5680,8 +5233,7 @@ packages: optional: true /@rollup/rollup-android-arm64@4.17.1: - resolution: - { integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ== } + resolution: {integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ==} cpu: [arm64] os: [android] requiresBuild: true @@ -5689,8 +5241,7 @@ packages: optional: true /@rollup/rollup-darwin-arm64@4.17.1: - resolution: - { integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA== } + resolution: {integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -5698,8 +5249,7 @@ packages: optional: true /@rollup/rollup-darwin-x64@4.17.1: - resolution: - { integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw== } + resolution: {integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw==} cpu: [x64] os: [darwin] requiresBuild: true @@ -5707,8 +5257,7 @@ packages: optional: true /@rollup/rollup-linux-arm-gnueabihf@4.17.1: - resolution: - { integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw== } + resolution: {integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw==} cpu: [arm] os: [linux] requiresBuild: true @@ -5716,8 +5265,7 @@ packages: optional: true /@rollup/rollup-linux-arm-musleabihf@4.17.1: - resolution: - { integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg== } + resolution: {integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg==} cpu: [arm] os: [linux] requiresBuild: true @@ -5725,8 +5273,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-gnu@4.17.1: - resolution: - { integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw== } + resolution: {integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5734,8 +5281,7 @@ packages: optional: true /@rollup/rollup-linux-arm64-musl@4.17.1: - resolution: - { integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ== } + resolution: {integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ==} cpu: [arm64] os: [linux] requiresBuild: true @@ -5743,8 +5289,7 @@ packages: optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.17.1: - resolution: - { integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw== } + resolution: {integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw==} cpu: [ppc64] os: [linux] requiresBuild: true @@ -5752,8 +5297,7 @@ packages: optional: true /@rollup/rollup-linux-riscv64-gnu@4.17.1: - resolution: - { integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ== } + resolution: {integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ==} cpu: [riscv64] os: [linux] requiresBuild: true @@ -5761,8 +5305,7 @@ packages: optional: true /@rollup/rollup-linux-s390x-gnu@4.17.1: - resolution: - { integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw== } + resolution: {integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw==} cpu: [s390x] os: [linux] requiresBuild: true @@ -5770,8 +5313,7 @@ packages: optional: true /@rollup/rollup-linux-x64-gnu@4.17.1: - resolution: - { integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ== } + resolution: {integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -5779,8 +5321,7 @@ packages: optional: true /@rollup/rollup-linux-x64-musl@4.17.1: - resolution: - { integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ== } + resolution: {integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -5788,8 +5329,7 @@ packages: optional: true /@rollup/rollup-win32-arm64-msvc@4.17.1: - resolution: - { integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg== } + resolution: {integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg==} cpu: [arm64] os: [win32] requiresBuild: true @@ -5797,8 +5337,7 @@ packages: optional: true /@rollup/rollup-win32-ia32-msvc@4.17.1: - resolution: - { integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag== } + resolution: {integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag==} cpu: [ia32] os: [win32] requiresBuild: true @@ -5806,8 +5345,7 @@ packages: optional: true /@rollup/rollup-win32-x64-msvc@4.17.1: - resolution: - { integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA== } + resolution: {integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA==} cpu: [x64] os: [win32] requiresBuild: true @@ -5815,42 +5353,36 @@ packages: optional: true /@sinclair/typebox@0.27.8: - resolution: - { integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sindresorhus/is@5.6.0: - resolution: - { integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} /@sindresorhus/merge-streams@2.3.0: - resolution: - { integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} dev: true /@sindresorhus/slugify@2.2.1: - resolution: - { integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + engines: {node: '>=12'} dependencies: '@sindresorhus/transliterate': 1.6.0 escape-string-regexp: 5.0.0 dev: false /@sindresorhus/transliterate@1.6.0: - resolution: - { integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /@size-limit/esbuild@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-IGQNaZsS4kP4hwU9C8P+3VvPhtW9PQ9OrwKJsvHDgMsbGX01hz39b9KkVwoI29wOXdwtj0aETaJUZPqoJq588w==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5860,9 +5392,8 @@ packages: dev: true /@size-limit/file@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5870,8 +5401,7 @@ packages: dev: true /@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2): - resolution: - { integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ== } + resolution: {integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ==} peerDependencies: size-limit: 11.1.2 dependencies: @@ -5881,33 +5411,29 @@ packages: dev: true /@smithy/abort-controller@2.2.0: - resolution: - { integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ== } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ== } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@2.2.0: - resolution: - { integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -5917,9 +5443,8 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: - { integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -5932,9 +5457,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -5944,8 +5468,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw== } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -5954,9 +5477,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5964,18 +5486,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -5983,9 +5503,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -5993,8 +5512,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw== } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -6004,8 +5522,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg== } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -6014,9 +5531,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -6025,9 +5541,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6035,24 +5550,21 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q== } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ== } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -6060,9 +5572,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -6070,9 +5581,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: - { integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -6084,9 +5594,8 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: - { integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -6100,27 +5609,24 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -6129,9 +5635,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -6141,27 +5646,24 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -6169,35 +5671,31 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 dev: true /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: - { integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -6209,9 +5707,8 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: - { integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -6222,16 +5719,14 @@ packages: dev: true /@smithy/types@2.12.0: - resolution: - { integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/url-parser@2.2.0: - resolution: - { integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ== } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -6239,9 +5734,8 @@ packages: dev: true /@smithy/util-base64@2.3.0: - resolution: - { integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -6249,41 +5743,36 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w== } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: - { integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -6293,9 +5782,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: - { integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -6307,9 +5795,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6317,26 +5804,23 @@ packages: dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g== } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -6344,9 +5828,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -6359,26 +5842,23 @@ packages: dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -6386,9 +5866,8 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.89: - resolution: - { integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LVCZQ2yGrX2678uMvW66IF1bzcOMqiABi+ioNDnJtAIsE/zRVMEYp1ivbOrH32FmPplBby6CGgJIOT3P4VaP1g==} + engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -6396,9 +5875,8 @@ packages: optional: true /@swc/core-darwin-x64@1.3.89: - resolution: - { integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IwKlX65YrPBF3urOxBJia0PjnZeaICnCkSwGLiYyV1RhM8XwZ/XyEDTBEsdph3WxUM5wCZQSk8UY/d0saIsX9w==} + engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -6406,9 +5884,8 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.89: - resolution: - { integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-u5qAPh7NkKoDJYwfaB5zuRvzW2+A89CQQHp5xcYjpctRsk3sUrPmC7vNeE12xipBNKLujIG59ppbrf6Pkp5XIg==} + engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true @@ -6416,9 +5893,8 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.89: - resolution: - { integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-eykuO7XtPltk600HvnnRr1nU5qGk7PeqLmztHA7R2bu2SbtcbCGsewPNcAX5eP8by2VwpGcLPdxaKyqeUwCgoA==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6426,9 +5902,8 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.89: - resolution: - { integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-i/65Vt3ljfd6EyR+WWZ5aAjZLTQMIHoR+Ay97jE0kysRn8MEOINu0SWyiEwcdXzRGlt+zkrKYfOxp745sWPDAw==} + engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -6436,9 +5911,8 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.89: - resolution: - { integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ERETXe68CJRdNkL3EIN62gErh3p6+/6hmz4C0epnYJ4F7QspdW/EOluL1o9bl4dux4Xz0nmBPSZsqfHq/nl1KA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6446,9 +5920,8 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.89: - resolution: - { integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EXiwgU5E/yC5zuJtOXXWv+wMwpe5DR380XhVxIOBG6nFi6MR3O2X37KxeEdQZX8RwN7/KU6kNHeifzEiSvixfA==} + engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true @@ -6456,9 +5929,8 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.89: - resolution: - { integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-j7GvkgeOrZlB55MpEwX+6E6KjxwOmwRXpIqMjF11JDIZ0wEwHlBxZhlnQQ58iuI6jL6AJgDH/ktDhMyELoBiHw==} + engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -6466,9 +5938,8 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.89: - resolution: - { integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-n57nE7d3FXBa3Y2+VoJdPulcUAS0ZGAGVGxFpeM/tZt1MBEN5OvpOSOIp35dK5HAAxAzTPlmqj9KUYnVxLMVKw==} + engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -6476,9 +5947,8 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.89: - resolution: - { integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-6yMAmqgseAwEXFIwurP7CL8yIH8n7/Rg62ooOVSLSWL5O/Pwlpy1WrpoA0eKhgMLLkIrPvNuKaE/rG7c2iNQHA==} + engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true @@ -6486,9 +5956,8 @@ packages: optional: true /@swc/core@1.3.89: - resolution: - { integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+FchWateF57g50ChX6++QQDwgVd6iWZX5HA6m9LRIdJIB56bIqbwRQDwVL3Q8Rlbry4kmw+RxiOW2FjAx9mQOQ==} + engines: {node: '>=10'} requiresBuild: true peerDependencies: '@swc/helpers': ^0.5.0 @@ -6512,30 +5981,25 @@ packages: dev: true /@swc/counter@0.1.1: - resolution: - { integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw== } + resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} dev: true /@swc/types@0.1.5: - resolution: - { integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== } + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true /@szmarczak/http-timer@5.0.1: - resolution: - { integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} dependencies: defer-to-connect: 2.0.1 /@textlint/ast-node-types@12.6.1: - resolution: - { integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== } + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} dev: true /@textlint/markdown-to-ast@12.6.1: - resolution: - { integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== } + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@9.4.0) @@ -6551,8 +6015,7 @@ packages: dev: true /@ts-morph/common@0.23.0: - resolution: - { integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== } + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} dependencies: fast-glob: 3.3.2 minimatch: 9.0.4 @@ -6560,24 +6023,19 @@ packages: path-browserify: 1.0.1 /@tsconfig/node10@1.0.9: - resolution: - { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} /@tsconfig/node12@1.0.11: - resolution: - { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} /@tsconfig/node14@1.0.3: - resolution: - { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} /@tsconfig/node16@1.0.4: - resolution: - { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} /@types/babel__core@7.20.5: - resolution: - { integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.3 '@babel/types': 7.24.0 @@ -6587,164 +6045,137 @@ packages: dev: true /@types/babel__generator@7.6.5: - resolution: - { integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== } + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.2: - resolution: - { integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== } + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.2: - resolution: - { integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== } + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/cli-progress@3.11.5: - resolution: - { integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== } + resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: '@types/node': 20.12.7 /@types/cookie@0.6.0: - resolution: - { integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== } + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true /@types/estree@1.0.5: - resolution: - { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true /@types/http-cache-semantics@4.0.2: - resolution: - { integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== } + resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} /@types/ini@4.1.0: - resolution: - { integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w== } + resolution: {integrity: sha512-mTehMtc+xtnWBBvqizcqYCktKDBH2WChvx1GU3Sfe4PysFDXiNe+1YwtpVX1MDtCa4NQrSPw2+3HmvXHY3gt1w==} dev: false /@types/istanbul-lib-coverage@2.0.4: - resolution: - { integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== } + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false /@types/istanbul-lib-report@3.0.0: - resolution: - { integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== } + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 dev: false /@types/istanbul-reports@3.0.1: - resolution: - { integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== } + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 dev: false /@types/json-schema@7.0.15: - resolution: - { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.29: - resolution: - { integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/lodash.chunk@4.2.9: - resolution: - { integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q== } + resolution: {integrity: sha512-Z9VtFUSnmT0No/QymqfG9AGbfOA4O5qB/uyP89xeZBqDAsKsB4gQFTqt7d0pHjbsTwtQ4yZObQVHuKlSOhIJ5Q==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.compact@3.0.9: - resolution: - { integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg== } + resolution: {integrity: sha512-b4uMY3aQri4SnRm4ptQXxE11CCqv//k7DQBSpDepLnoJ7lcunUnIxfvA5uOVidiKEKF8JkSCT9EyjFVszBjgqg==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.get@4.4.9: - resolution: - { integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA== } + resolution: {integrity: sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.pick@4.4.9: - resolution: - { integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ== } + resolution: {integrity: sha512-hDpr96x9xHClwy1KX4/RXRejqjDFTEGbEMT3t6wYSYeFDzxmMnSKB/xHIbktRlPj8Nii2g8L5dtFDRaNFBEzUQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash.set@4.3.9: - resolution: - { integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ== } + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} dependencies: '@types/lodash': 4.14.199 dev: true /@types/lodash@4.14.199: - resolution: - { integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== } + resolution: {integrity: sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==} dev: true /@types/mdast@3.0.12: - resolution: - { integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== } + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.8 dev: true /@types/minimist@1.2.2: - resolution: - { integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== } + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/mute-stream@0.0.4: - resolution: - { integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.12.7 /@types/node@12.20.55: - resolution: - { integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== } + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true /@types/node@20.12.7: - resolution: - { integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== } + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/normalize-package-data@2.4.2: - resolution: - { integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== } + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} /@types/papaparse@5.3.14: - resolution: - { integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g== } + resolution: {integrity: sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==} dependencies: '@types/node': 20.12.7 dev: true /@types/pg@8.11.5: - resolution: - { integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw== } + resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: '@types/node': 20.12.7 pg-protocol: 1.6.1 @@ -6752,97 +6183,79 @@ packages: dev: true /@types/pluralize@0.0.33: - resolution: - { integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== } + resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} dev: true /@types/prettier@2.7.3: - resolution: - { integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== } + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prompts@2.4.9: - resolution: - { integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== } + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: '@types/node': 20.12.7 kleur: 3.0.3 dev: false /@types/relaxed-json@1.0.4: - resolution: - { integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg== } + resolution: {integrity: sha512-MulPaZU5Hh81T8ROYhsWlC7tJuuapwUT1/wX1qS8/koMI8Ypf3tyEunFZKzewoLsjutDpuf4kXVhxkF82ZtXzg==} dev: true /@types/retry@0.12.1: - resolution: - { integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== } + resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==} dev: false /@types/semver@7.5.6: - resolution: - { integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== } + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true /@types/semver@7.5.8: - resolution: - { integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} /@types/shimmer@1.0.3: - resolution: - { integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA== } + resolution: {integrity: sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==} dev: true /@types/statuses@2.0.4: - resolution: - { integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw== } + resolution: {integrity: sha512-eqNDvZsCNY49OAXB0Firg/Sc2BgoWsntsLUdybGFOhAfCD6QJ2n9HXUIHGqt5qjrxmMv4wS8WLAw43ZkKcJ8Pw==} dev: true /@types/text-table@0.2.5: - resolution: - { integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA== } + resolution: {integrity: sha512-hcZhlNvMkQG/k1vcZ6yHOl6WAYftQ2MLfTHcYRZ2xYZFD8tGVnE3qFV0lj1smQeDSR7/yY0PyuUalauf33bJeA==} dev: true /@types/tmp@0.2.6: - resolution: - { integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== } + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} dev: true /@types/unist@2.0.8: - resolution: - { integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== } + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: true /@types/which@3.0.3: - resolution: - { integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g== } + resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} /@types/yargs-parser@21.0.1: - resolution: - { integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== } + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false /@types/yargs@16.0.6: - resolution: - { integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A== } + resolution: {integrity: sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==} dependencies: '@types/yargs-parser': 21.0.1 dev: false /@types/yoga-layout@1.9.2: - resolution: - { integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw== } + resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -6870,9 +6283,8 @@ packages: dev: true /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -6900,9 +6312,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6922,9 +6333,8 @@ packages: dev: true /@typescript-eslint/parser@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -6944,27 +6354,24 @@ packages: dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.7.1: - resolution: - { integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -6983,9 +6390,8 @@ packages: dev: true /@typescript-eslint/type-utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -7004,27 +6410,23 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false /@typescript-eslint/types@6.21.0: - resolution: - { integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.7.1: - resolution: - { integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.5): - resolution: - { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7044,9 +6446,8 @@ packages: dev: false /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7067,9 +6468,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5): - resolution: - { integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7090,9 +6490,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7110,9 +6509,8 @@ packages: dev: true /@typescript-eslint/utils@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: @@ -7130,36 +6528,32 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: false /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@7.7.1: - resolution: - { integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): - resolution: - { integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== } - engines: { node: '>=14' } + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} + engines: {node: '>=14'} hasBin: true dependencies: '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) @@ -7179,8 +6573,7 @@ packages: dev: false /@vitest/expect@1.5.2: - resolution: - { integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA== } + resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==} dependencies: '@vitest/spy': 1.5.2 '@vitest/utils': 1.5.2 @@ -7188,8 +6581,7 @@ packages: dev: true /@vitest/runner@1.5.2: - resolution: - { integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g== } + resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==} dependencies: '@vitest/utils': 1.5.2 p-limit: 5.0.0 @@ -7197,8 +6589,7 @@ packages: dev: true /@vitest/snapshot@1.5.2: - resolution: - { integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ== } + resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 @@ -7206,15 +6597,13 @@ packages: dev: true /@vitest/spy@1.5.2: - resolution: - { integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ== } + resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==} dependencies: tinyspy: 2.2.0 dev: true /@vitest/utils@1.5.2: - resolution: - { integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA== } + resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -7223,44 +6612,38 @@ packages: dev: true /@wry/context@0.7.3: - resolution: - { integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/equality@0.5.6: - resolution: - { integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-D46sfMTngaYlrH+OspKf8mIJETntFnf6Hsjb0V41jAXJ7Bx2kB8Rv8RCUujuVWYttFtHkUNp7g+FwxNQAr6mXA==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /@wry/trie@0.4.3: - resolution: - { integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /abbrev@1.1.1: - resolution: - { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== } + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false /abstract-leveldown@0.12.4: - resolution: - { integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA== } + resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} dependencies: xtend: 3.0.0 dev: true /acorn-import-assertions@1.9.0(acorn@8.11.3): - resolution: - { integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== } + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: @@ -7268,8 +6651,7 @@ packages: dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7277,39 +6659,33 @@ packages: dev: true /acorn-walk@8.2.0: - resolution: - { integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} /acorn-walk@8.3.2: - resolution: - { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@5.7.4: - resolution: - { integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /acorn@8.10.0: - resolution: - { integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} hasBin: true /acorn@8.11.3: - resolution: - { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} hasBin: true /agent-base@6.0.2(supports-color@9.4.0): - resolution: - { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: @@ -7317,17 +6693,15 @@ packages: dev: false /aggregate-error@4.0.1: - resolution: - { integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} dependencies: clean-stack: 4.2.0 indent-string: 5.0.0 dev: false /ajv-errors@3.0.0(ajv@8.12.0): - resolution: - { integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ== } + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} peerDependencies: ajv: ^8.0.1 dependencies: @@ -7335,8 +6709,7 @@ packages: dev: false /ajv@6.12.6: - resolution: - { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -7345,8 +6718,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -7355,111 +6727,93 @@ packages: dev: false /anchor-markdown-header@0.6.0: - resolution: - { integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA== } + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} dependencies: emoji-regex: 10.1.0 dev: true /ansi-color@0.2.1: - resolution: - { integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ== } + resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} dev: false /ansi-colors@4.1.3: - resolution: - { integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} /ansi-escapes@4.3.2: - resolution: - { integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@5.0.0: - resolution: - { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: type-fest: 1.4.0 dev: false /ansi-escapes@6.2.0: - resolution: - { integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: type-fest: 3.13.1 /ansi-regex@5.0.1: - resolution: - { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} /ansi-styles@3.2.1: - resolution: - { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 /ansi-styles@4.3.0: - resolution: - { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} /ansi-styles@6.2.1: - resolution: - { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /ansicolors@0.3.2: - resolution: - { integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== } + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} /any-date-parser@1.5.4: - resolution: - { integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg== } + resolution: {integrity: sha512-S4gl9UmXNk9XXSQxp5w5harUD6aM0fepyL3dZM/B3znX57sWf792hS2UvvCFIHECfpsqfKbQ+cqWBky4AKyRIg==} dev: false /any-promise@1.3.0: - resolution: - { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /aproba@2.0.0: - resolution: - { integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== } + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: false /archiver-utils@2.1.0: - resolution: - { integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7474,9 +6828,8 @@ packages: dev: false /archiver-utils@3.0.4: - resolution: - { integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -7491,9 +6844,8 @@ packages: dev: false /archiver-utils@4.0.1: - resolution: - { integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} + engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 graceful-fs: 4.2.11 @@ -7504,9 +6856,8 @@ packages: dev: false /archiver@5.3.2: - resolution: - { integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.4 @@ -7518,9 +6869,8 @@ packages: dev: false /archiver@6.0.1: - resolution: - { integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 async: 3.2.4 @@ -7532,40 +6882,34 @@ packages: dev: false /are-we-there-yet@2.0.0: - resolution: - { integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} dependencies: delegates: 1.0.0 readable-stream: 3.6.2 dev: false /arg@4.1.3: - resolution: - { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} /argparse@1.0.10: - resolution: - { integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 /argparse@2.0.1: - resolution: - { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} /array-buffer-byte-length@1.0.0: - resolution: - { integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== } + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 dev: true /array-includes@3.1.7: - resolution: - { integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7575,14 +6919,12 @@ packages: dev: true /array-union@2.1.0: - resolution: - { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} /array.prototype.findlastindex@1.2.3: - resolution: - { integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7592,9 +6934,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7603,9 +6944,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -7614,9 +6954,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.2: - resolution: - { integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 @@ -7628,20 +6967,17 @@ packages: dev: true /arrify@1.0.1: - resolution: - { integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} dev: true /arrify@3.0.0: - resolution: - { integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} dev: false /asn1.js@5.4.1: - resolution: - { integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -7650,63 +6986,52 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: false /astral-regex@2.0.0: - resolution: - { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} /async-listen@3.0.1: - resolution: - { integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} dev: false /async-retry@1.3.3: - resolution: - { integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== } + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: retry: 0.13.1 dev: true /async-sema@3.1.1: - resolution: - { integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== } + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: false /async@3.2.4: - resolution: - { integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== } + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: - resolution: - { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false /auto-bind@4.0.0: - resolution: - { integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /available-typed-arrays@1.0.5: - resolution: - { integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} dev: true /axios@1.5.0: - resolution: - { integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ== } + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: follow-redirects: 1.15.3 form-data: 4.0.0 @@ -7716,13 +7041,11 @@ packages: dev: false /b4a@1.6.4: - resolution: - { integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== } + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): - resolution: - { integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== } + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7735,8 +7058,7 @@ packages: dev: true /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - resolution: - { integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== } + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7748,8 +7070,7 @@ packages: dev: true /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): - resolution: - { integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== } + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: @@ -7760,23 +7081,19 @@ packages: dev: true /bail@1.0.5: - resolution: - { integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== } + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} dev: true /balanced-match@1.0.2: - resolution: - { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-js@1.5.1: - resolution: - { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false /better-ajv-errors@1.2.0(ajv@8.12.0): - resolution: - { integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA== } - engines: { node: '>= 12.13.0' } + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} peerDependencies: ajv: 4.11.8 - 8 dependencies: @@ -7789,36 +7106,31 @@ packages: dev: false /better-path-resolve@1.0.0: - resolution: - { integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} dependencies: is-windows: 1.0.2 dev: true /binary-extensions@2.2.0: - resolution: - { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} dev: true /bindings@1.5.0: - resolution: - { integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== } + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: false /bl@0.8.2: - resolution: - { integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw== } + resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} dependencies: readable-stream: 1.0.34 dev: true /bl@4.1.0: - resolution: - { integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -7826,55 +7138,46 @@ packages: dev: false /bn.js@4.12.0: - resolution: - { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true /bn.js@5.2.1: - resolution: - { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true /bowser@2.11.0: - resolution: - { integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /brace-expansion@1.1.11: - resolution: - { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 /brace-expansion@2.0.1: - resolution: - { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 /braces@3.0.2: - resolution: - { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 /breakword@1.0.6: - resolution: - { integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== } + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} dependencies: wcwidth: 1.0.1 dev: true /brorand@1.1.0: - resolution: - { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true /browserify-aes@1.2.0: - resolution: - { integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -7885,8 +7188,7 @@ packages: dev: true /browserify-cipher@1.0.1: - resolution: - { integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== } + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 @@ -7894,8 +7196,7 @@ packages: dev: true /browserify-des@1.0.2: - resolution: - { integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== } + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 des.js: 1.1.0 @@ -7904,8 +7205,7 @@ packages: dev: true /browserify-fs@1.0.0: - resolution: - { integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg== } + resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} dependencies: level-filesystem: 1.2.0 level-js: 2.2.4 @@ -7913,16 +7213,14 @@ packages: dev: true /browserify-rsa@4.1.0: - resolution: - { integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== } + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.2.1 randombytes: 2.1.0 dev: true /browserify-sign@4.2.1: - resolution: - { integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== } + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -7936,9 +7234,8 @@ packages: dev: true /browserslist@4.23.0: - resolution: - { integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001600 @@ -7947,37 +7244,31 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: - resolution: - { integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false /buffer-es6@4.9.3: - resolution: - { integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw== } + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} dev: true /buffer-from@1.1.2: - resolution: - { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: - resolution: - { integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@5.7.1: - resolution: - { integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false /bufrw@1.3.0: - resolution: - { integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} + engines: {node: '>= 0.10.x'} dependencies: ansi-color: 0.2.1 error: 7.0.2 @@ -7986,58 +7277,49 @@ packages: dev: false /builtin-modules@3.3.0: - resolution: - { integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} /builtins@2.0.1: - resolution: - { integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw== } + resolution: {integrity: sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==} dependencies: semver: 6.3.1 dev: true /builtins@5.0.1: - resolution: - { integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== } + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.6.0 /bundle-name@4.1.0: - resolution: - { integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: run-applescript: 7.0.0 dev: false /byline@5.0.0: - resolution: - { integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} dev: false /bytes-iec@3.1.1: - resolution: - { integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} + engines: {node: '>= 0.8'} dev: true /cac@6.7.14: - resolution: - { integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} dev: true /cacheable-lookup@7.0.0: - resolution: - { integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} /cacheable-request@10.2.13: - resolution: - { integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.2 get-stream: 6.0.1 @@ -8048,34 +7330,29 @@ packages: responselike: 3.0.0 /call-bind@1.0.2: - resolution: - { integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== } + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.1 /call-me-maybe@1.0.2: - resolution: - { integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== } + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} dev: true /callsites@3.1.0: - resolution: - { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} /camel-case@4.1.2: - resolution: - { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase-keys@6.2.2: - resolution: - { integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 map-obj: 4.3.0 @@ -8083,24 +7360,20 @@ packages: dev: true /camelcase@5.3.1: - resolution: - { integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: false /caniuse-lite@1.0.30001600: - resolution: - { integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== } + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} /capital-case@1.0.4: - resolution: - { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8108,27 +7381,23 @@ packages: dev: true /cardinal@2.1.1: - resolution: - { integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== } + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} hasBin: true dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 /case@1.6.3: - resolution: - { integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} /ccount@1.1.0: - resolution: - { integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== } + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true /chai@4.3.10: - resolution: - { integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -8140,30 +7409,26 @@ packages: dev: true /chalk@2.4.2: - resolution: - { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 /chalk@4.1.2: - resolution: - { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} /change-case@4.1.2: - resolution: - { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -8180,36 +7445,30 @@ packages: dev: true /character-entities-legacy@1.1.4: - resolution: - { integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== } + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true /character-entities@1.2.4: - resolution: - { integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== } + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} dev: true /character-reference-invalid@1.1.4: - resolution: - { integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== } + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: true /chardet@0.7.0: - resolution: - { integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true /check-error@1.0.3: - resolution: - { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.6.0: - resolution: - { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -8223,84 +7482,72 @@ packages: dev: true /chownr@2.0.0: - resolution: - { integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: false /ci-info@2.0.0: - resolution: - { integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.8.0: - resolution: - { integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@3.0.1: - resolution: - { integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 4.0.0 /clean-stack@4.2.0: - resolution: - { integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 dev: false /cli-boxes@2.2.1: - resolution: - { integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-cursor@3.1.0: - resolution: - { integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-highlight@2.1.11: - resolution: - { integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== } - engines: { node: '>=8.0.0', npm: '>=5.0.0' } + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -8312,43 +7559,37 @@ packages: dev: true /cli-progress@3.12.0: - resolution: - { integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} dependencies: string-width: 4.2.3 /cli-spinners@2.9.2: - resolution: - { integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} /cli-truncate@2.1.0: - resolution: - { integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@4.0.0: - resolution: - { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 string-width: 7.0.0 dev: true /cli-width@4.1.0: - resolution: - { integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} /clipanion@3.2.1(typanion@3.14.0): - resolution: - { integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA== } + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} peerDependencies: typanion: '*' dependencies: @@ -8356,8 +7597,7 @@ packages: dev: true /cliui@6.0.0: - resolution: - { integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8365,8 +7605,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -8374,88 +7613,74 @@ packages: dev: true /cliui@8.0.1: - resolution: - { integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 /clone@0.1.19: - resolution: - { integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw== } + resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} dev: true /clone@1.0.4: - resolution: - { integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /code-block-writer@13.0.1: - resolution: - { integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg== } + resolution: {integrity: sha512-c5or4P6erEA69TxaxTNcHUNcIn+oyxSRTOWV+pSYF+z4epXqNvwvJ70XPGjPNgue83oAFAPBRQYwpAJ/Hpe/Sg==} /code-excerpt@3.0.0: - resolution: - { integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==} + engines: {node: '>=10'} dependencies: convert-to-spaces: 1.0.2 dev: true /color-convert@1.9.3: - resolution: - { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: - { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: - { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /color-string@1.9.1: - resolution: - { integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== } + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 /color-support@1.1.3: - resolution: - { integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== } + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false /color@4.2.3: - resolution: - { integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== } - engines: { node: '>=12.5.0' } + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 color-string: 1.9.1 /colorette@2.0.20: - resolution: - { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors-option@3.0.0: - resolution: - { integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-DP3FpjsiDDvnQC1OJBsdOJZPuy7r0o6sepY2T5M3L/d2nrE23O/ErFkEqyY3ngVL1ZhTj/H0pCMNObZGkEOaaQ==} + engines: {node: '>=12.20.0'} dependencies: chalk: 5.3.0 filter-obj: 3.0.0 @@ -8464,39 +7689,33 @@ packages: dev: false /combined-stream@1.0.8: - resolution: - { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: false /commander@10.0.1: - resolution: - { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: false /commander@11.1.0: - resolution: - { integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: - resolution: - { integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false /common-path-prefix@3.0.0: - resolution: - { integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== } + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false /compress-commons@4.1.2: - resolution: - { integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -8505,9 +7724,8 @@ packages: dev: false /compress-commons@5.0.1: - resolution: - { integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 crc32-stream: 5.0.0 @@ -8516,13 +7734,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: - { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -8531,18 +7747,15 @@ packages: dev: true /confusing-browser-globals@1.0.11: - resolution: - { integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== } + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true /console-control-strings@1.1.0: - resolution: - { integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== } + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: false /constant-case@3.0.4: - resolution: - { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -8550,48 +7763,40 @@ packages: dev: true /content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-hrtime@3.0.0: - resolution: - { integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} dev: false /convert-source-map@2.0.0: - resolution: - { integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} /convert-to-spaces@1.0.2: - resolution: - { integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-cj09EBuObp9gZNQCzc7hByQyrs6jVGE+o9kSJmeUoj+GiPiJvi5LYqEH/Hmme4+MTLHM+Ejtq+FChpjjEnsPdQ==} + engines: {node: '>= 4'} dev: true /cookie@0.5.0: - resolution: - { integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} dev: true /core-js-compat@3.36.1: - resolution: - { integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== } + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 dev: true /core-util-is@1.0.3: - resolution: - { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cosmiconfig@9.0.0(typescript@5.4.5): - resolution: - { integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -8606,9 +7811,8 @@ packages: dev: false /cp-file@10.0.0: - resolution: - { integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 nested-error-stacks: 2.1.1 @@ -8616,9 +7820,8 @@ packages: dev: false /cp-file@9.1.0: - resolution: - { integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} + engines: {node: '>=10'} dependencies: graceful-fs: 4.2.11 make-dir: 3.1.0 @@ -8627,9 +7830,8 @@ packages: dev: false /cpy@9.0.1: - resolution: - { integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg== } - engines: { node: ^12.20.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} + engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} dependencies: arrify: 3.0.0 cp-file: 9.1.0 @@ -8642,41 +7844,36 @@ packages: dev: false /crc-32@1.2.2: - resolution: - { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: false /crc32-stream@4.0.3: - resolution: - { integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /crc32-stream@5.0.0: - resolution: - { integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==} + engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: false /create-ecdh@4.0.4: - resolution: - { integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== } + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 elliptic: 6.5.4 dev: true /create-hash@1.2.0: - resolution: - { integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -8686,8 +7883,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -8698,20 +7894,17 @@ packages: dev: true /create-require@1.1.1: - resolution: - { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} /cron-parser@4.9.0: - resolution: - { integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} dependencies: luxon: 3.4.3 dev: false /cross-spawn@5.1.0: - resolution: - { integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== } + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 @@ -8719,17 +7912,15 @@ packages: dev: true /cross-spawn@7.0.3: - resolution: - { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 /crypto-browserify@3.12.0: - resolution: - { integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== } + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.1 @@ -8745,24 +7936,20 @@ packages: dev: true /csv-generate@3.4.3: - resolution: - { integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== } + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} dev: true /csv-parse@4.16.3: - resolution: - { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== } + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} dev: true /csv-stringify@5.6.5: - resolution: - { integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== } + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} dev: true /csv@5.5.3: - resolution: - { integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== } - engines: { node: '>= 0.1.90' } + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 @@ -8771,19 +7958,16 @@ packages: dev: true /data-uri-to-buffer@4.0.1: - resolution: - { integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /dataloader@1.4.0: - resolution: - { integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== } + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true /debug@3.2.7: - resolution: - { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8794,9 +7978,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8807,9 +7990,8 @@ packages: supports-color: 8.1.1 /debug@4.3.4(supports-color@9.4.0): - resolution: - { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -8820,84 +8002,72 @@ packages: supports-color: 9.4.0 /decamelize-keys@1.1.1: - resolution: - { integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 map-obj: 1.0.1 dev: true /decamelize@1.2.0: - resolution: - { integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decompress-response@6.0.0: - resolution: - { integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 /deep-eql@4.1.3: - resolution: - { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-is@0.1.4: - resolution: - { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: false /default-browser-id@5.0.0: - resolution: - { integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} dev: false /default-browser@5.2.1: - resolution: - { integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.0 dev: false /defaults@1.0.4: - resolution: - { integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /defer-to-connect@2.0.1: - resolution: - { integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} /deferred-leveldown@0.2.0: - resolution: - { integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng== } + resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} dependencies: abstract-leveldown: 0.12.4 dev: true /define-data-property@1.1.0: - resolution: - { integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 gopd: 1.0.1 @@ -8905,15 +8075,13 @@ packages: dev: true /define-lazy-prop@3.0.0: - resolution: - { integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} dev: false /define-properties@1.2.1: - resolution: - { integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 @@ -8921,52 +8089,44 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} dev: false /delegates@1.0.0: - resolution: - { integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== } + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false /des.js@1.1.0: - resolution: - { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /detect-indent@6.1.0: - resolution: - { integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-libc@2.0.2: - resolution: - { integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} dev: false /detect-newline@4.0.1: - resolution: - { integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -8976,26 +8136,23 @@ packages: dev: false /detective-cjs@5.0.1: - resolution: - { integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /detective-es6@4.0.1: - resolution: - { integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: false /detective-postcss@6.1.3: - resolution: - { integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw== } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -9003,33 +8160,29 @@ packages: dev: false /detective-sass@5.0.3: - resolution: - { integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-scss@4.0.3: - resolution: - { integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: false /detective-stylus@4.0.0: - resolution: - { integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: false /detective-typescript@11.1.0(supports-color@9.4.0): - resolution: - { integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) ast-module-types: 5.0.0 @@ -9040,19 +8193,16 @@ packages: dev: false /diff-sequences@29.6.3: - resolution: - { integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} /diffie-hellman@5.0.3: - resolution: - { integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== } + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.12.0 miller-rabin: 4.0.1 @@ -9060,15 +8210,13 @@ packages: dev: true /dir-glob@3.0.1: - resolution: - { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 /doctoc@2.2.1: - resolution: - { integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ== } + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} hasBin: true dependencies: '@textlint/markdown-to-ast': 12.6.1 @@ -9082,16 +8230,14 @@ packages: dev: true /doctrine@2.1.0: - resolution: - { integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /dom-serializer@1.4.1: - resolution: - { integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== } + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -9099,21 +8245,18 @@ packages: dev: true /domelementtype@2.3.0: - resolution: - { integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true /domhandler@4.3.1: - resolution: - { integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 dev: true /domutils@2.8.0: - resolution: - { integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== } + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 @@ -9121,43 +8264,37 @@ packages: dev: true /dot-case@3.0.4: - resolution: - { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@7.2.0: - resolution: - { integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: type-fest: 2.19.0 dev: false /dotenv-expand@11.0.6: - resolution: - { integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 dev: false /dotenv@16.4.5: - resolution: - { integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} /dotenv@8.6.0: - resolution: - { integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} dev: true /drizzle-orm@0.30.9(@opentelemetry/api@1.8.0)(@types/pg@8.11.5)(@xata.io/client@packages+client)(pg@8.11.5)(react@17.0.2): - resolution: - { integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA== } + resolution: {integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -9244,13 +8381,11 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} /edge-runtime@2.5.9: - resolution: - { integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} hasBin: true dependencies: '@edge-runtime/format': 2.2.1 @@ -9265,20 +8400,17 @@ packages: dev: false /ejs@3.1.10: - resolution: - { integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 /electron-to-chromium@1.4.715: - resolution: - { integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg== } + resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} /elliptic@6.5.4: - resolution: - { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -9290,109 +8422,92 @@ packages: dev: true /emoji-regex@10.1.0: - resolution: - { integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== } + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} dev: true /emoji-regex@10.3.0: - resolution: - { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true /emoji-regex@8.0.0: - resolution: - { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} /end-of-stream@1.4.4: - resolution: - { integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false /enhanced-resolve@5.15.0: - resolution: - { integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 /entities@2.2.0: - resolution: - { integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== } + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true /entities@3.0.1: - resolution: - { integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} dev: true /env-editor@1.1.0: - resolution: - { integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-7AXskzN6T7Q9TFcKAGJprUbpQa4i1VsAetO9rdBqbGMGlragTziBgWt4pVYJMBWHQlLoX0buy6WFikzPH4Qjpw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /env-paths@2.2.1: - resolution: - { integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} dev: false /env-paths@3.0.0: - resolution: - { integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /errno@0.1.8: - resolution: - { integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== } + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true /error-ex@1.3.2: - resolution: - { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 /error-stack-parser@2.1.4: - resolution: - { integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== } + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} dependencies: stackframe: 1.3.4 dev: false /error@7.0.2: - resolution: - { integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw== } + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} dependencies: string-template: 0.2.1 xtend: 4.0.2 dev: false /es-abstract@1.22.2: - resolution: - { integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -9436,13 +8551,11 @@ packages: dev: true /es-module-lexer@1.3.1: - resolution: - { integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== } + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: - resolution: - { integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -9450,16 +8563,14 @@ packages: dev: true /es-shim-unscopables@1.0.0: - resolution: - { integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== } + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive@1.2.1: - resolution: - { integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -9467,14 +8578,12 @@ packages: dev: true /es6-promise@3.3.1: - resolution: - { integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg== } + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true /esbuild@0.19.11: - resolution: - { integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9504,9 +8613,8 @@ packages: dev: true /esbuild@0.19.2: - resolution: - { integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9535,9 +8643,8 @@ packages: dev: false /esbuild@0.20.2: - resolution: - { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -9567,36 +8674,30 @@ packages: dev: true /escalade@3.1.1: - resolution: - { integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: - resolution: - { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} /escape-string-regexp@2.0.0: - resolution: - { integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} /escape-string-regexp@5.0.0: - resolution: - { integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} dev: false /escodegen@2.1.0: - resolution: - { integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -9607,9 +8708,8 @@ packages: dev: false /eslint-config-oclif-typescript@3.1.7(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-5q6Q1NjQt6WrAANGO9Go3uuxZTzf7ywmecRNW7e+bTnlkTk0/ClPd6SogH+qkwOkFJaMHmBp45ZmzvwGzy/Txg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-5q6Q1NjQt6WrAANGO9Go3uuxZTzf7ywmecRNW7e+bTnlkTk0/ClPd6SogH+qkwOkFJaMHmBp45ZmzvwGzy/Txg==} + engines: {node: '>=18.0.0'} dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.1.1)(typescript@5.4.5) @@ -9632,9 +8732,8 @@ packages: dev: true /eslint-config-oclif@5.1.3(eslint@9.1.1): - resolution: - { integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-Yf4VYDoaebYaBYZdYmEXP0xDIzppMvkG1cPtkum6rFtUhY9qdvsOGS3ijW6Q4ao5ochQLdvTEgXYGPkAQo7Fug==} + engines: {node: '>=18.0.0'} dependencies: eslint-config-xo-space: 0.35.0(eslint@9.1.1) eslint-plugin-mocha: 10.4.3(eslint@9.1.1) @@ -9645,9 +8744,8 @@ packages: dev: true /eslint-config-xo-space@0.35.0(eslint@9.1.1): - resolution: - { integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9656,9 +8754,8 @@ packages: dev: true /eslint-config-xo@0.44.0(eslint@9.1.1): - resolution: - { integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew== } - engines: { node: '>=18' } + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: @@ -9667,8 +8764,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -9678,9 +8774,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9702,9 +8797,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@9.1.1): - resolution: - { integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -9726,9 +8820,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9757,9 +8850,8 @@ packages: dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -9788,9 +8880,8 @@ packages: dev: true /eslint-plugin-es@4.1.0(eslint@9.1.1): - resolution: - { integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -9800,9 +8891,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9836,9 +8926,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@9.1.1): - resolution: - { integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -9872,9 +8961,8 @@ packages: dev: true /eslint-plugin-mocha@10.4.3(eslint@9.1.1): - resolution: - { integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==} + engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9885,9 +8973,8 @@ packages: dev: true /eslint-plugin-n@15.7.0(eslint@9.1.1): - resolution: - { integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== } - engines: { node: '>=12.22.0' } + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: @@ -9903,8 +8990,7 @@ packages: dev: true /eslint-plugin-perfectionist@2.10.0(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w== } + resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -9931,9 +9017,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@9.1.1): - resolution: - { integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -9956,26 +9041,23 @@ packages: dev: true /eslint-scope@8.0.1: - resolution: - { integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-utils@2.1.0: - resolution: - { integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true /eslint-utils@3.0.0(eslint@9.1.1): - resolution: - { integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== } - engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: @@ -9984,32 +9066,27 @@ packages: dev: true /eslint-visitor-keys@1.3.0: - resolution: - { integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} dev: true /eslint-visitor-keys@2.1.0: - resolution: - { integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint-visitor-keys@4.0.0: - resolution: - { integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true /eslint@9.1.1: - resolution: - { integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) @@ -10051,9 +9128,8 @@ packages: dev: true /espree@10.0.1: - resolution: - { integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -10061,74 +9137,62 @@ packages: dev: true /esprima@4.0.1: - resolution: - { integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true /esquery@1.5.0: - resolution: - { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@5.3.0: - resolution: - { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} /estree-walker@0.5.2: - resolution: - { integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== } + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} dev: true /estree-walker@0.6.1: - resolution: - { integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== } + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true /estree-walker@2.0.2: - resolution: - { integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== } + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} /estree-walker@3.0.3: - resolution: - { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 dev: true /esutils@2.0.3: - resolution: - { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} /eventemitter3@5.0.1: - resolution: - { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} /evp_bytestokey@1.0.3: - resolution: - { integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10142,9 +9206,8 @@ packages: dev: false /execa@6.1.0: - resolution: - { integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -10158,9 +9221,8 @@ packages: dev: false /execa@8.0.1: - resolution: - { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } - engines: { node: '>=16.17' } + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -10174,19 +9236,16 @@ packages: dev: true /extend@3.0.2: - resolution: - { integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== } + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true /extendable-error@0.1.7: - resolution: - { integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true /external-editor@3.1.0: - resolution: - { integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 @@ -10194,23 +9253,19 @@ packages: dev: true /fast-deep-equal@3.1.3: - resolution: - { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} /fast-equals@3.0.3: - resolution: - { integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== } + resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==} dev: false /fast-fifo@1.3.2: - resolution: - { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: false /fast-glob@3.3.1: - resolution: - { integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10220,9 +9275,8 @@ packages: dev: true /fast-glob@3.3.2: - resolution: - { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -10231,54 +9285,45 @@ packages: micromatch: 4.0.5 /fast-json-stable-stringify@2.1.0: - resolution: - { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-levenshtein@2.0.6: - resolution: - { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-levenshtein@3.0.0: - resolution: - { integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== } + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} dependencies: fastest-levenshtein: 1.0.16 /fast-safe-stringify@2.1.1: - resolution: - { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} /fast-xml-parser@4.2.5: - resolution: - { integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastest-levenshtein@1.0.16: - resolution: - { integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== } - engines: { node: '>= 4.9.1' } + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} /fastq@1.15.0: - resolution: - { integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== } + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 /fault@1.0.4: - resolution: - { integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== } + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: format: 0.2.2 dev: true /fdir@6.1.0: - resolution: - { integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg== } + resolution: {integrity: sha512-274qhz5PxNnA/fybOu6apTCUnM0GnO3QazB6VH+oag/7DQskdYq8lm07ZSm90kEQuWYH5GvjAxGruuHrEr0bcg==} peerDependencies: picomatch: 2.x peerDependenciesMeta: @@ -10287,139 +9332,121 @@ packages: dev: false /fetch-blob@3.2.0: - resolution: - { integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 dev: false /figures@3.2.0: - resolution: - { integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /figures@4.0.1: - resolution: - { integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /figures@5.0.0: - resolution: - { integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} dependencies: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 dev: false /file-entry-cache@8.0.0: - resolution: - { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: flat-cache: 4.0.1 dev: true /file-uri-to-path@1.0.0: - resolution: - { integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== } + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true dev: false /filelist@1.0.4: - resolution: - { integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== } + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 /fill-range@7.0.1: - resolution: - { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 /filter-obj@3.0.0: - resolution: - { integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /filter-obj@5.1.0: - resolution: - { integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} dev: false /find-up@4.1.0: - resolution: - { integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /find-up@6.3.0: - resolution: - { integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: locate-path: 7.2.0 path-exists: 5.0.0 dev: false /find-yarn-workspace-root2@1.2.16: - resolution: - { integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== } + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 dev: true /find-yarn-workspace-root@2.0.0: - resolution: - { integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== } + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} dependencies: micromatch: 4.0.5 dev: true /flat-cache@4.0.1: - resolution: - { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.2.9 keyv: 4.5.4 dev: true /flatted@3.2.9: - resolution: - { integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== } + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /follow-redirects@1.15.3: - resolution: - { integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -10428,35 +9455,30 @@ packages: dev: false /for-each@0.3.3: - resolution: - { integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreach@2.0.6: - resolution: - { integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== } + resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} dev: true /foreground-child@3.1.1: - resolution: - { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data-encoder@2.1.4: - resolution: - { integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== } - engines: { node: '>= 14.17' } + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} /form-data@4.0.0: - resolution: - { integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -10464,28 +9486,24 @@ packages: dev: false /format@0.2.2: - resolution: - { integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} dev: true /formdata-polyfill@4.0.10: - resolution: - { integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /fs-constants@1.0.0: - resolution: - { integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false /fs-extra@10.1.0: - resolution: - { integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -10493,9 +9511,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10503,9 +9520,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -10513,34 +9529,29 @@ packages: dev: true /fs-minipass@2.1.0: - resolution: - { integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: false /fs.realpath@1.0.0: - resolution: - { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + 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 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -10549,21 +9560,18 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /fwd-stream@1.0.4: - resolution: - { integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg== } + resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} dependencies: readable-stream: 1.0.34 dev: true /gauge@3.0.2: - resolution: - { integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -10577,38 +9585,32 @@ packages: dev: false /gensync@1.0.0-beta.2: - resolution: - { integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} /get-amd-module-type@5.0.1: - resolution: - { integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: false /get-caller-file@2.0.5: - resolution: - { integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} /get-east-asian-width@1.2.0: - resolution: - { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} dev: true /get-func-name@2.0.2: - resolution: - { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.1: - resolution: - { integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== } + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.2 has: 1.0.3 @@ -10616,82 +9618,69 @@ packages: has-symbols: 1.0.3 /get-package-type@0.1.0: - resolution: - { integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} /get-port@6.1.2: - resolution: - { integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /get-stdin@9.0.0: - resolution: - { integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@6.0.1: - resolution: - { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} /get-stream@8.0.1: - resolution: - { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: - resolution: - { integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 dev: true /get-tsconfig@4.7.2: - resolution: - { integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== } + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 /git-hooks-list@3.1.0: - resolution: - { integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /github-slugger@1.5.0: - resolution: - { integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== } + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true /glob-parent@5.1.2: - resolution: - { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 /glob-parent@6.0.2: - resolution: - { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: - resolution: - { integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== } + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false /glob@10.3.8: - resolution: - { integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-0z5t5h4Pxtqi+8ozm+j7yMI/bQ1sBeg4oAUGkDPUguaY2YZB76gtlllWoxWEHo02E5qAjsELwVX8g8Wk6RvQog==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -10702,8 +9691,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10713,9 +9701,8 @@ packages: path-is-absolute: 1.0.1 /glob@8.1.0: - resolution: - { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -10725,36 +9712,31 @@ packages: dev: false /globals@11.12.0: - resolution: - { integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} /globals@13.24.0: - resolution: - { integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globals@14.0.0: - resolution: - { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} dev: true /globalthis@1.0.3: - resolution: - { integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@11.1.0: - resolution: - { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -10764,9 +9746,8 @@ packages: slash: 3.0.0 /globby@13.2.2: - resolution: - { integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -10775,9 +9756,8 @@ packages: slash: 4.0.0 /globby@14.0.1: - resolution: - { integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 @@ -10788,25 +9768,22 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: false /gopd@1.0.1: - resolution: - { integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 dev: true /got-fetch@5.1.6(got@12.6.1): - resolution: - { integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-oI9hJnQlU8GDqFnRS7tNvyFIqgUrU9GOq1ck53BPuuth0DiSSkApISoZY0T70aOtYknweb7HBEe7rEoHTXwtcQ==} + engines: {node: '>=14.0.0'} peerDependencies: got: ^12.0.0 dependencies: @@ -10814,9 +9791,8 @@ packages: dev: true /got@12.6.1: - resolution: - { integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10831,9 +9807,8 @@ packages: responselike: 3.0.0 /got@13.0.0: - resolution: - { integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== } - engines: { node: '>=16' } + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -10849,23 +9824,19 @@ packages: dev: true /graceful-fs@4.2.11: - resolution: - { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} /grapheme-splitter@1.0.4: - resolution: - { integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== } + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true /graphemer@1.4.0: - resolution: - { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-tag@2.12.6(graphql@15.8.0): - resolution: - { integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + 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 dependencies: @@ -10874,79 +9845,66 @@ packages: dev: true /graphql@15.8.0: - resolution: - { integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} dev: true /graphql@16.8.1: - resolution: - { integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true /hard-rejection@2.1.0: - resolution: - { integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} dev: true /has-bigints@1.0.2: - resolution: - { integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@3.0.0: - resolution: - { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} /has-flag@4.0.0: - resolution: - { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.0: - resolution: - { integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== } + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 dev: true /has-proto@1.0.1: - resolution: - { integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: - { integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: - resolution: - { integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /has-unicode@2.0.1: - resolution: - { integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== } + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false /has@1.0.3: - resolution: - { integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.2 /hash-base@3.1.0: - resolution: - { integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -10954,37 +9912,32 @@ packages: dev: true /hash.js@1.1.7: - resolution: - { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true /hasown@2.0.0: - resolution: - { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /header-case@2.0.4: - resolution: - { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /headers-polyfill@4.0.2: - resolution: - { integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw== } + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hexer@1.5.0: - resolution: - { integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: ansi-color: 0.2.1 @@ -10994,13 +9947,11 @@ packages: dev: false /highlight.js@10.7.3: - resolution: - { integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== } + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true /hmac-drbg@1.0.1: - resolution: - { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 @@ -11008,43 +9959,37 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: - { integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== } + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: true /hosted-git-info@2.8.9: - resolution: - { integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /hosted-git-info@4.1.0: - resolution: - { integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 /hosted-git-info@7.0.1: - resolution: - { integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: lru-cache: 10.2.2 dev: false /hot-shots@10.0.0: - resolution: - { integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ== } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-uy/uGpuJk7yuyiKRfZMBNkF1GAOX5O2ifO9rDCaX9jw8fu6eW9QeWC7WRPDI+O98frW1HQgV3+xwjWsZPECIzQ==} + engines: {node: '>=10.0.0'} optionalDependencies: unix-dgram: 2.0.6 dev: false /htmlparser2@7.2.0: - resolution: - { integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== } + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 @@ -11053,13 +9998,11 @@ packages: dev: true /http-cache-semantics@4.1.1: - resolution: - { integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== } + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} /http-call@5.3.0: - resolution: - { integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} dependencies: content-type: 1.0.5 debug: 4.3.4(supports-color@9.4.0) @@ -11072,22 +10015,19 @@ packages: dev: true /http2-client@1.3.5: - resolution: - { integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA== } + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} dev: true /http2-wrapper@2.2.0: - resolution: - { integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== } - engines: { node: '>=10.19.0' } + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 /https-proxy-agent@5.0.1(supports-color@9.4.0): - resolution: - { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) @@ -11096,74 +10036,62 @@ packages: dev: false /human-id@1.0.2: - resolution: - { integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== } + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true /human-signals@2.1.0: - resolution: - { integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: false /human-signals@3.0.1: - resolution: - { integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} dev: false /human-signals@5.0.0: - resolution: - { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } - engines: { node: '>=16.17.0' } + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@9.0.11: - resolution: - { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} hasBin: true dev: true /hyperlinker@1.0.0: - resolution: - { integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} /iconv-lite@0.4.24: - resolution: - { integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true /idb-wrapper@1.7.2: - resolution: - { integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== } + resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} dev: true /ieee754@1.2.1: - resolution: - { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false /ignore@5.3.1: - resolution: - { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} /import-fresh@3.3.0: - resolution: - { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 /import-in-the-middle@1.7.1: - resolution: - { integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg== } + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} dependencies: acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) @@ -11172,48 +10100,40 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} /indent-string@5.0.0: - resolution: - { integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: false /indexof@0.0.1: - resolution: - { integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg== } + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: true /inflight@1.0.6: - resolution: - { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 /inherits@2.0.4: - resolution: - { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@4.1.2: - resolution: - { integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /ink@3.2.0(react@17.0.2): - resolution: - { integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg==} + engines: {node: '>=10'} peerDependencies: '@types/react': '>=16.8.0' react: '>=16.8.0' @@ -11251,9 +10171,8 @@ packages: dev: true /internal-slot@1.0.5: - resolution: - { integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 has: 1.0.3 @@ -11261,27 +10180,23 @@ packages: dev: true /interpret@1.4.0: - resolution: - { integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: true /is-alphabetical@1.0.4: - resolution: - { integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== } + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true /is-alphanumerical@1.0.4: - resolution: - { integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== } + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 dev: true /is-array-buffer@3.0.2: - resolution: - { integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== } + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -11289,357 +10204,300 @@ packages: dev: true /is-arrayish@0.2.1: - resolution: - { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: - { integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== } + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} /is-bigint@1.0.4: - resolution: - { integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object@1.1.2: - resolution: - { integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-buffer@2.0.5: - resolution: - { integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} dev: true /is-builtin-module@3.2.1: - resolution: - { integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 /is-callable@1.2.7: - resolution: - { integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@2.0.0: - resolution: - { integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== } + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true /is-core-module@2.13.0: - resolution: - { integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== } + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 dev: true /is-core-module@2.13.1: - resolution: - { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 /is-date-object@1.0.5: - resolution: - { integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-decimal@1.0.4: - resolution: - { integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== } + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true /is-docker@2.2.1: - resolution: - { integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} hasBin: true /is-docker@3.0.0: - resolution: - { integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dev: false /is-extglob@2.1.1: - resolution: - { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} /is-fullwidth-code-point@3.0.0: - resolution: - { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-fullwidth-code-point@5.0.0: - resolution: - { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} dependencies: get-east-asian-width: 1.2.0 dev: true /is-glob@4.0.3: - resolution: - { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 /is-hexadecimal@1.0.4: - resolution: - { integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== } + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true /is-inside-container@1.0.0: - resolution: - { integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} hasBin: true dependencies: is-docker: 3.0.0 dev: false /is-negative-zero@2.0.2: - resolution: - { integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} dev: true /is-node-process@1.2.0: - resolution: - { integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== } + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true /is-number-object@1.0.7: - resolution: - { integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-number@7.0.0: - resolution: - { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} /is-object@0.1.2: - resolution: - { integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ== } + resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true /is-path-inside@3.0.3: - resolution: - { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-path-inside@4.0.0: - resolution: - { integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} dev: false /is-plain-obj@1.1.0: - resolution: - { integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} dev: true /is-plain-obj@2.1.0: - resolution: - { integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} /is-plain-obj@4.1.0: - resolution: - { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} /is-regex@1.1.4: - resolution: - { integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-retry-allowed@1.2.0: - resolution: - { integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true /is-shared-array-buffer@1.0.2: - resolution: - { integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== } + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-stream@2.0.1: - resolution: - { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} /is-stream@3.0.0: - resolution: - { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /is-string@1.0.7: - resolution: - { integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-subdir@1.2.0: - resolution: - { integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} dependencies: better-path-resolve: 1.0.0 dev: true /is-symbol@1.0.4: - resolution: - { integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.12: - resolution: - { integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 dev: true /is-unicode-supported@1.3.0: - resolution: - { integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: false /is-url-superb@4.0.0: - resolution: - { integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: false /is-url@1.2.4: - resolution: - { integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: false /is-weakref@1.0.2: - resolution: - { integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true /is-windows@1.0.2: - resolution: - { integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /is-wsl@2.2.0: - resolution: - { integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== } - engines: { node: '>=8' } + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 /is-wsl@3.1.0: - resolution: - { integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} dependencies: is-inside-container: 1.0.0 dev: false /is@0.2.7: - resolution: - { integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ== } + resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} dev: true /isarray@0.0.1: - resolution: - { integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== } + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true /isarray@1.0.0: - resolution: - { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: - { integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isbuffer@0.0.0: - resolution: - { integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g== } + resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} dev: true /iserror@0.0.2: - resolution: - { integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== } + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} dev: false /isexe@2.0.0: - resolution: - { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /isexe@3.1.1: - resolution: - { integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} dev: false /jackspeak@2.3.5: - resolution: - { integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -11647,9 +10505,8 @@ packages: dev: true /jaeger-client@3.19.0: - resolution: - { integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} + engines: {node: '>=10'} dependencies: node-int64: 0.4.0 opentracing: 0.14.7 @@ -11659,9 +10516,8 @@ packages: dev: false /jake@10.8.7: - resolution: - { integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.4 @@ -11670,15 +10526,13 @@ packages: minimatch: 3.1.2 /jest-get-type@27.5.1: - resolution: - { integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: false /jest-validate@27.5.1: - resolution: - { integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -11689,110 +10543,91 @@ packages: dev: false /jiti@1.21.0: - resolution: - { integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /js-tokens@4.0.0: - resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /js-tokens@8.0.3: - resolution: - { integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== } + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@3.14.1: - resolution: - { integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: - resolution: - { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 /jsesc@0.5.0: - resolution: - { integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true /jsesc@3.0.2: - resolution: - { integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} /json-parse-better-errors@1.0.2: - resolution: - { integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-schema-traverse@0.4.1: - resolution: - { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: false /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json5@1.0.2: - resolution: - { integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true /jsonc-parser@3.2.0: - resolution: - { integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== } + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} /jsonfile@4.0.0: - resolution: - { integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: @@ -11800,73 +10635,62 @@ packages: dev: true /jsonpointer@5.0.1: - resolution: - { integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} dev: false /junk@4.0.1: - resolution: - { integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} dev: false /keep-func-props@4.0.1: - resolution: - { integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==} + engines: {node: '>=12.20.0'} dependencies: mimic-fn: 4.0.0 dev: false /keyv@4.5.3: - resolution: - { integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== } + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 /keyv@4.5.4: - resolution: - { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: - { integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /kleur@3.0.3: - resolution: - { integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: false /kleur@4.1.5: - resolution: - { integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} dev: true /kysely@0.27.3: - resolution: - { integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} dev: true /lazystream@1.0.1: - resolution: - { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: false /level-blobs@0.1.7: - resolution: - { integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg== } + resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: level-peek: 1.0.6 once: 1.4.0 @@ -11874,8 +10698,7 @@ packages: dev: true /level-filesystem@1.2.0: - resolution: - { integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g== } + resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} dependencies: concat-stream: 1.6.2 errno: 0.1.8 @@ -11889,27 +10712,23 @@ packages: dev: true /level-fix-range@1.0.2: - resolution: - { integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ== } + resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} dev: true /level-fix-range@2.0.0: - resolution: - { integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA== } + resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} dependencies: clone: 0.1.19 dev: true /level-hooks@4.5.0: - resolution: - { integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA== } + resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} dependencies: string-range: 1.2.2 dev: true /level-js@2.2.4: - resolution: - { integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ== } + resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} dependencies: abstract-leveldown: 0.12.4 idb-wrapper: 1.7.2 @@ -11920,15 +10739,13 @@ packages: dev: true /level-peek@1.0.6: - resolution: - { integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ== } + resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} dependencies: level-fix-range: 1.0.2 dev: true /level-sublevel@5.2.3: - resolution: - { integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA== } + resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} dependencies: level-fix-range: 2.0.0 level-hooks: 4.5.0 @@ -11937,8 +10754,7 @@ packages: dev: true /levelup@0.18.6: - resolution: - { integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q== } + resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} dependencies: bl: 0.8.2 deferred-leveldown: 0.2.0 @@ -11950,40 +10766,34 @@ packages: dev: true /leven@3.1.0: - resolution: - { integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: false /levn@0.4.1: - resolution: - { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lilconfig@3.0.0: - resolution: - { integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== } - engines: { node: '>=14' } + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} dev: true /lilconfig@3.1.1: - resolution: - { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== } - engines: { node: '>=14' } + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} dev: true /lines-and-columns@1.2.4: - resolution: - { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lint-staged@15.2.2: - resolution: - { integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== } - engines: { node: '>=18.12.0' } + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 @@ -12001,9 +10811,8 @@ packages: dev: true /listr2@8.0.1: - resolution: - { integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} + engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -12014,9 +10823,8 @@ packages: dev: true /load-json-file@4.0.0: - resolution: - { integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 @@ -12025,9 +10833,8 @@ packages: dev: true /load-yaml-file@0.2.0: - resolution: - { integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -12036,139 +10843,115 @@ packages: dev: true /local-pkg@0.5.0: - resolution: - { integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== } - engines: { node: '>=14' } + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} dependencies: mlly: 1.4.2 pkg-types: 1.0.3 dev: true /locate-path@5.0.0: - resolution: - { integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /locate-path@7.2.0: - resolution: - { integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-locate: 6.0.0 dev: false /lodash-es@4.17.21: - resolution: - { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false /lodash._reinterpolate@3.0.0: - resolution: - { integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== } + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true /lodash.camelcase@4.3.0: - resolution: - { integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== } + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} /lodash.chunk@4.2.0: - resolution: - { integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w== } + resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false /lodash.compact@3.0.1: - resolution: - { integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ== } + resolution: {integrity: sha512-2ozeiPi+5eBXW1CLtzjk8XQFhQOEMwwfxblqeq6EGyTxZJ1bPATqilY0e6g2SLQpP4KuMeuioBhEnWz5Pr7ICQ==} dev: false /lodash.debounce@4.0.8: - resolution: - { integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== } + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.defaults@4.2.0: - resolution: - { integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: false /lodash.difference@4.5.0: - resolution: - { integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: false /lodash.flatten@4.4.0: - resolution: - { integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: false /lodash.get@4.4.2: - resolution: - { integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== } + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.isplainobject@4.0.6: - resolution: - { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: false /lodash.merge@4.6.2: - resolution: - { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.pick@4.4.0: - resolution: - { integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== } + resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} dev: false /lodash.set@4.3.2: - resolution: - { integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== } + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} dev: false /lodash.startcase@4.4.0: - resolution: - { integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true /lodash.template@4.5.0: - resolution: - { integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== } + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true /lodash.templatesettings@4.2.0: - resolution: - { integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== } + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true /lodash.union@4.6.0: - resolution: - { integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: false /lodash@4.17.21: - resolution: - { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} /log-process-errors@8.0.0: - resolution: - { integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg== } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-+SNGqNC1gCMJfhwYzAHr/YgNT/ZJc+V2nCkvtPnjrENMeCe+B/jgShBW0lmWoh6uVV2edFAPc/IUOkDdsjTbTg==} + engines: {node: '>=12.20.0'} dependencies: colors-option: 3.0.0 figures: 4.0.1 @@ -12180,9 +10963,8 @@ packages: dev: false /log-update@6.0.0: - resolution: - { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: ansi-escapes: 6.2.0 cli-cursor: 4.0.0 @@ -12192,167 +10974,141 @@ packages: dev: true /long@2.4.0: - resolution: - { integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} + engines: {node: '>=0.6'} dev: false /long@5.2.3: - resolution: - { integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== } + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} /longest-streak@2.0.4: - resolution: - { integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== } + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true /loose-envify@1.4.0: - resolution: - { integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case@2.0.2: - resolution: - { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lowercase-keys@3.0.0: - resolution: - { integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /lru-cache@10.2.2: - resolution: - { integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} /lru-cache@4.1.5: - resolution: - { integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== } + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true /lru-cache@5.1.1: - resolution: - { integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 /lru-cache@6.0.0: - resolution: - { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /ltgt@2.2.1: - resolution: - { integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== } + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} dev: true /luxon@3.4.3: - resolution: - { integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==} + engines: {node: '>=12'} dev: false /macos-release@3.2.0: - resolution: - { integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /magic-string@0.22.5: - resolution: - { integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== } + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} dependencies: vlq: 0.2.3 dev: true /magic-string@0.25.3: - resolution: - { integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== } + resolution: {integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.25.9: - resolution: - { integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== } + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 dev: true /magic-string@0.30.4: - resolution: - { integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.30.5: - resolution: - { integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@3.1.0: - resolution: - { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} dependencies: semver: 6.3.1 dev: false /make-error@1.3.6: - resolution: - { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} /map-obj@1.0.1: - resolution: - { integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} dev: true /map-obj@4.3.0: - resolution: - { integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} dev: true /map-obj@5.0.2: - resolution: - { integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /markdown-table@2.0.0: - resolution: - { integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== } + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} dependencies: repeat-string: 1.6.1 dev: true /md5.js@1.3.5: - resolution: - { integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -12360,8 +11116,7 @@ packages: dev: true /mdast-util-find-and-replace@1.1.1: - resolution: - { integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== } + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 @@ -12369,8 +11124,7 @@ packages: dev: true /mdast-util-footnote@0.1.7: - resolution: - { integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== } + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 @@ -12379,8 +11133,7 @@ packages: dev: true /mdast-util-from-markdown@0.8.5: - resolution: - { integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== } + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: '@types/mdast': 3.0.12 mdast-util-to-string: 2.0.0 @@ -12392,15 +11145,13 @@ packages: dev: true /mdast-util-frontmatter@0.2.0: - resolution: - { integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== } + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} dependencies: micromark-extension-frontmatter: 0.2.2 dev: true /mdast-util-gfm-autolink-literal@0.1.3: - resolution: - { integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== } + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 @@ -12410,30 +11161,26 @@ packages: dev: true /mdast-util-gfm-strikethrough@0.2.3: - resolution: - { integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== } + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-table@0.1.6: - resolution: - { integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== } + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm-task-list-item@0.1.6: - resolution: - { integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== } + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} dependencies: mdast-util-to-markdown: 0.6.5 dev: true /mdast-util-gfm@0.1.2: - resolution: - { integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== } + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -12445,8 +11192,7 @@ packages: dev: true /mdast-util-to-markdown@0.6.5: - resolution: - { integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== } + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} dependencies: '@types/unist': 2.0.8 longest-streak: 2.0.4 @@ -12457,19 +11203,16 @@ packages: dev: true /mdast-util-to-string@2.0.0: - resolution: - { integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== } + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true /memoize-one@6.0.0: - resolution: - { integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== } + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false /meow@6.1.1: - resolution: - { integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 @@ -12485,35 +11228,29 @@ packages: dev: true /merge-options@3.0.4: - resolution: - { integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} + engines: {node: '>=10'} dependencies: is-plain-obj: 2.1.0 dev: false /merge-stream@2.0.0: - resolution: - { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} /merge2@1.4.1: - resolution: - { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} /micro-api-client@3.3.0: - resolution: - { integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg== } + resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} dev: false /micro-memoize@4.1.2: - resolution: - { integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g== } + resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} dev: false /micromark-extension-footnote@0.3.2: - resolution: - { integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== } + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12521,15 +11258,13 @@ packages: dev: true /micromark-extension-frontmatter@0.2.2: - resolution: - { integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== } + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} dependencies: fault: 1.0.4 dev: true /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: - { integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== } + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12537,8 +11272,7 @@ packages: dev: true /micromark-extension-gfm-strikethrough@0.6.5: - resolution: - { integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== } + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12546,8 +11280,7 @@ packages: dev: true /micromark-extension-gfm-table@0.4.3: - resolution: - { integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== } + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12555,13 +11288,11 @@ packages: dev: true /micromark-extension-gfm-tagfilter@0.3.0: - resolution: - { integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== } + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} dev: true /micromark-extension-gfm-task-list-item@0.3.3: - resolution: - { integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== } + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} dependencies: micromark: 2.11.4 transitivePeerDependencies: @@ -12569,8 +11300,7 @@ packages: dev: true /micromark-extension-gfm@0.3.3: - resolution: - { integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== } + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -12583,8 +11313,7 @@ packages: dev: true /micromark@2.11.4: - resolution: - { integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== } + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: debug: 4.3.4(supports-color@9.4.0) parse-entities: 2.0.0 @@ -12593,16 +11322,14 @@ packages: dev: true /micromatch@4.0.5: - resolution: - { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 /miller-rabin@4.0.1: - resolution: - { integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== } + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: bn.js: 4.12.0 @@ -12610,87 +11337,73 @@ packages: dev: true /mime-db@1.52.0: - resolution: - { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} dev: false /mime-types@2.1.35: - resolution: - { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: false /mimic-fn@2.1.0: - resolution: - { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} /mimic-fn@4.0.0: - resolution: - { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} /mimic-response@3.1.0: - resolution: - { integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} /mimic-response@4.0.0: - resolution: - { integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} /min-indent@1.0.1: - resolution: - { integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true /minimalistic-crypto-utils@1.0.1: - resolution: - { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true /minimatch@3.1.2: - resolution: - { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 /minimatch@5.1.6: - resolution: - { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 /minimatch@9.0.3: - resolution: - { integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: - { integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 /minimist-options@4.1.0: - resolution: - { integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 @@ -12698,60 +11411,51 @@ packages: dev: true /minimist@1.2.8: - resolution: - { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass@3.3.6: - resolution: - { integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: false /minipass@5.0.0: - resolution: - { integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: false /minipass@7.0.3: - resolution: - { integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@2.1.2: - resolution: - { integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: minipass: 3.3.6 yallist: 4.0.0 dev: false /mixme@0.5.9: - resolution: - { integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} dev: true /mkdirp@1.0.4: - resolution: - { integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true dev: false /mkdirp@3.0.1: - resolution: - { integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true /mlly@1.4.2: - resolution: - { integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== } + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.3 pathe: 1.1.1 @@ -12760,9 +11464,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA== } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12770,44 +11473,37 @@ packages: dev: false /module-details-from-path@1.0.3: - resolution: - { integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== } + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} /moize@6.1.6: - resolution: - { integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q== } + resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==} dependencies: fast-equals: 3.0.3 micro-memoize: 4.1.2 dev: false /move-file@3.1.0: - resolution: - { integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-exists: 5.0.0 dev: false /mri@1.2.0: - resolution: - { integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: false /ms@2.1.2: - resolution: - { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: - resolution: - { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /msw@2.2.14(typescript@5.4.5): - resolution: - { integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: @@ -12837,13 +11533,11 @@ packages: dev: true /mute-stream@1.0.0: - resolution: - { integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} /mz@2.7.0: - resolution: - { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 object-assign: 4.1.1 @@ -12851,55 +11545,46 @@ packages: dev: true /nan@2.18.0: - resolution: - { integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== } + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true dev: false optional: true /nanoid@3.3.7: - resolution: - { integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true /nanoid@5.0.6: - resolution: - { integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA== } - engines: { node: ^18 || >=20 } + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} + engines: {node: ^18 || >=20} hasBin: true dev: true /nanospinner@1.1.0: - resolution: - { integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== } + resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} dependencies: picocolors: 1.0.0 dev: true /natural-compare-lite@1.4.0: - resolution: - { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true /natural-compare@1.4.0: - resolution: - { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /natural-orderby@2.0.3: - resolution: - { integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== } + resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} /nested-error-stacks@2.1.1: - resolution: - { integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== } + resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false /netlify-headers-parser@7.1.2: - resolution: - { integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 fast-safe-stringify: 2.1.1 @@ -12910,9 +11595,8 @@ packages: dev: false /netlify-redirect-parser@14.2.0: - resolution: - { integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 filter-obj: 5.1.0 @@ -12922,9 +11606,8 @@ packages: dev: false /netlify@13.1.10: - resolution: - { integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw== } - engines: { node: ^14.16.0 || >=16.0.0 } + resolution: {integrity: sha512-ByFz8S08HWVKd9r/lkTahZX7xSq4IRyPCUvuaduI4GHyQaSWEdVNK1krC05vlhL9W0SzDn8Yjowh0Ru4PKrOYw==} + engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.22.0 lodash-es: 4.17.21 @@ -12936,31 +11619,27 @@ packages: dev: false /no-case@3.0.4: - resolution: - { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-domexception@1.0.0: - resolution: - { integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-fetch-h2@2.3.0: - resolution: - { integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 dev: true /node-fetch@2.7.0: - resolution: - { integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -12970,9 +11649,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -12980,53 +11658,45 @@ packages: dev: false /node-gyp-build@4.6.1: - resolution: - { integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== } + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false /node-int64@0.4.0: - resolution: - { integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false /node-readfiles@0.2.0: - resolution: - { integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA== } + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 dev: true /node-releases@2.0.14: - resolution: - { integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /node-source-walk@6.0.2: - resolution: - { integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag== } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.24.1 dev: false /node-stream-zip@1.15.0: - resolution: - { integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} dev: false /nopt@5.0.0: - resolution: - { integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} hasBin: true dependencies: abbrev: 1.1.1 dev: false /normalize-package-data@2.5.0: - resolution: - { integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.6 @@ -13035,9 +11705,8 @@ packages: dev: true /normalize-package-data@3.0.3: - resolution: - { integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 @@ -13045,27 +11714,23 @@ packages: validate-npm-package-license: 3.0.4 /normalize-path@2.1.1: - resolution: - { integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: false /normalize-path@3.0.0: - resolution: - { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} /normalize-url@8.0.0: - resolution: - { integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} /npm-package-arg@11.0.2: - resolution: - { integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== } - engines: { node: ^16.14.0 || >=18.0.0 } + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 proc-log: 4.0.0 @@ -13074,32 +11739,28 @@ packages: dev: false /npm-run-path@4.0.1: - resolution: - { integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: false /npm-run-path@5.1.0: - resolution: - { integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 /npm-run-path@5.3.0: - resolution: - { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: false /npm@10.6.0: - resolution: - { integrity: sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA== } - engines: { node: ^18.17.0 || >=20.5.0 } + resolution: {integrity: sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA==} + engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: false bundledDependencies: @@ -13174,8 +11835,7 @@ packages: - write-file-atomic /npmlog@5.0.1: - resolution: - { integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== } + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -13184,15 +11844,13 @@ packages: dev: false /oas-kit-common@1.0.8: - resolution: - { integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ== } + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 dev: true /oas-linter@3.2.2: - resolution: - { integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ== } + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} dependencies: '@exodus/schemasafe': 1.3.0 should: 13.2.3 @@ -13200,8 +11858,7 @@ packages: dev: true /oas-resolver@2.5.6: - resolution: - { integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ== } + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} hasBin: true dependencies: node-fetch-h2: 2.3.0 @@ -13212,13 +11869,11 @@ packages: dev: true /oas-schema-walker@1.1.5: - resolution: - { integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ== } + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} dev: true /oas-validator@5.0.8: - resolution: - { integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw== } + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} dependencies: call-me-maybe: 1.0.2 oas-kit-common: 1.0.8 @@ -13231,17 +11886,14 @@ packages: dev: true /object-assign@4.1.1: - resolution: - { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.12.3: - resolution: - { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== } + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@0.2.0: - resolution: - { integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA== } + resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} deprecated: Please update to the latest object-keys dependencies: foreach: 2.0.6 @@ -13250,31 +11902,26 @@ packages: dev: true /object-keys@0.4.0: - resolution: - { integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== } + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true /object-keys@1.1.1: - resolution: - { integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-treeify@1.1.33: - resolution: - { integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} + engines: {node: '>= 10'} /object-treeify@4.0.1: - resolution: - { integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ== } - engines: { node: '>= 16' } + resolution: {integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==} + engines: {node: '>= 16'} dev: false /object.assign@4.1.4: - resolution: - { integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13283,9 +11930,8 @@ packages: dev: true /object.fromentries@2.0.7: - resolution: - { integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13293,8 +11939,7 @@ packages: dev: true /object.groupby@1.0.1: - resolution: - { integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== } + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13303,9 +11948,8 @@ packages: dev: true /object.values@1.1.7: - resolution: - { integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -13313,14 +11957,12 @@ packages: dev: true /obuf@1.1.2: - resolution: - { integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== } + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true /oclif@4.9.0: - resolution: - { integrity: sha512-35wI+Rqu7iDix6iLToYyqTw7aHDxzUsymt2JZ5HMzrZWlaebDwkYMJTyOT08e9IQY8U8k4+zZPie1hLTxdEOFg== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-35wI+Rqu7iDix6iLToYyqTw7aHDxzUsymt2JZ5HMzrZWlaebDwkYMJTyOT08e9IQY8U8k4+zZPie1hLTxdEOFg==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: '@aws-sdk/client-cloudfront': 3.535.0 @@ -13352,39 +11994,33 @@ packages: dev: true /octal@1.0.0: - resolution: - { integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ== } + resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} dev: true /omit.js@2.0.2: - resolution: - { integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== } + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} dev: false /once@1.4.0: - resolution: - { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 /onetime@5.1.2: - resolution: - { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 /onetime@6.0.0: - resolution: - { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 /open@10.1.0: - resolution: - { integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} dependencies: default-browser: 5.2.1 define-lazy-prop: 3.0.0 @@ -13393,21 +12029,18 @@ packages: dev: false /openapi3-ts@2.0.2: - resolution: - { integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw== } + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} dependencies: yaml: 1.10.2 dev: true /opentracing@0.14.7: - resolution: - { integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} + engines: {node: '>=0.10'} dev: false /optimism@0.17.5: - resolution: - { integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw== } + resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} dependencies: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 @@ -13415,9 +12048,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -13428,231 +12060,199 @@ packages: dev: true /os-name@5.1.0: - resolution: - { integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: macos-release: 3.2.0 windows-release: 5.1.1 dev: false /os-tmpdir@1.0.2: - resolution: - { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} dev: true /outdent@0.5.0: - resolution: - { integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true /outvariant@1.4.2: - resolution: - { integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== } + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} dev: true /p-cancelable@3.0.0: - resolution: - { integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} /p-event@4.2.0: - resolution: - { integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} dependencies: p-timeout: 3.2.0 dev: false /p-event@5.0.1: - resolution: - { integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-timeout: 5.1.0 dev: false /p-every@2.0.0: - resolution: - { integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-MCz9DqD5opPC48Zsd+BHm56O/HfhYIQQtupfDzhXoVgQdg/Ux4F8/JcdRuQ+arq7zD5fB6zP3axbH3d9Nr8dlw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: false /p-filter@2.1.0: - resolution: - { integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} dependencies: p-map: 2.1.0 dev: true /p-filter@3.0.0: - resolution: - { integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-map: 5.5.0 dev: false /p-finally@1.0.0: - resolution: - { integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} dev: false /p-limit@2.3.0: - resolution: - { integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-limit@4.0.0: - resolution: - { integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 dev: false /p-limit@5.0.0: - resolution: - { integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true /p-locate@4.1.0: - resolution: - { integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-locate@6.0.0: - resolution: - { integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: p-limit: 4.0.0 dev: false /p-map@2.1.0: - resolution: - { integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== } - engines: { node: '>=6' } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} /p-map@5.5.0: - resolution: - { integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} dependencies: aggregate-error: 4.0.1 dev: false /p-queue@8.0.1: - resolution: - { integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== } - engines: { node: '>=18' } + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 dev: false /p-reduce@3.0.0: - resolution: - { integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q== } - engines: { node: '>=12' } + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} dev: false /p-retry@5.1.2: - resolution: - { integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: '@types/retry': 0.12.1 retry: 0.13.1 dev: false /p-timeout@3.2.0: - resolution: - { integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} dependencies: p-finally: 1.0.0 dev: false /p-timeout@5.1.0: - resolution: - { integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} dev: false /p-timeout@6.1.2: - resolution: - { integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} dev: false /p-try@2.2.0: - resolution: - { integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /p-wait-for@4.1.0: - resolution: - { integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-i8nE5q++9h8oaQHWltS1Tnnv4IoMDOlqN7C0KFG2OdbK0iFJIt6CROZ8wfBM+K4Pxqfnq4C4lkkpXqTEpB5DZw==} + engines: {node: '>=12'} dependencies: p-timeout: 5.1.0 dev: false /papaparse@5.4.1: - resolution: - { integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw== } + resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} dev: false /param-case@3.0.4: - resolution: - { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 /parse-asn1@5.1.6: - resolution: - { integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== } + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 @@ -13662,8 +12262,7 @@ packages: dev: true /parse-entities@2.0.0: - resolution: - { integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== } + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -13674,18 +12273,16 @@ packages: dev: true /parse-json@4.0.0: - resolution: - { integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true /parse-json@5.2.0: - resolution: - { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -13693,144 +12290,120 @@ packages: lines-and-columns: 1.2.4 /parse-ms@2.1.0: - resolution: - { integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: false /parse-ms@3.0.0: - resolution: - { integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} dev: false /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: - { integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== } + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true /parse5@5.1.1: - resolution: - { integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== } + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} dev: true /parse5@6.0.1: - resolution: - { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true /pascal-case@3.1.2: - resolution: - { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /password-prompt@1.1.3: - resolution: - { integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== } + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} dependencies: ansi-escapes: 4.3.2 cross-spawn: 7.0.3 /patch-console@1.0.0: - resolution: - { integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==} + engines: {node: '>=10'} dev: true /path-browserify@1.0.1: - resolution: - { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} /path-case@3.0.4: - resolution: - { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@4.0.0: - resolution: - { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-exists@5.0.0: - resolution: - { integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /path-is-absolute@1.0.1: - resolution: - { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} /path-key@3.1.1: - resolution: - { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} /path-key@4.0.0: - resolution: - { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} /path-parse@1.0.7: - resolution: - { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: - resolution: - { integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.2 minipass: 7.0.3 dev: true /path-to-regexp@6.2.1: - resolution: - { integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== } + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true /path-type@3.0.0: - resolution: - { integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: - { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} /path-type@5.0.0: - resolution: - { integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} /pathe@1.1.1: - resolution: - { integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== } + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true /pathval@1.1.1: - resolution: - { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -13840,32 +12413,27 @@ packages: dev: true /pg-cloudflare@1.1.1: - resolution: - { integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== } + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true dev: true optional: true /pg-connection-string@2.6.4: - resolution: - { integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA== } + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} dev: true /pg-int8@1.0.1: - resolution: - { integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} dev: true /pg-numeric@1.0.2: - resolution: - { integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} dev: true /pg-pool@3.6.2(pg@8.11.5): - resolution: - { integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg== } + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: @@ -13873,14 +12441,12 @@ packages: dev: true /pg-protocol@1.6.1: - resolution: - { integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg== } + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} dev: true /pg-types@2.2.0: - resolution: - { integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -13890,9 +12456,8 @@ packages: dev: true /pg-types@4.0.2: - resolution: - { integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== } - engines: { node: '>=10' } + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -13904,9 +12469,8 @@ packages: dev: true /pg@8.11.5: - resolution: - { integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw== } - engines: { node: '>= 8.0.0' } + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' peerDependenciesMeta: @@ -13923,59 +12487,50 @@ packages: dev: true /pgpass@1.0.5: - resolution: - { integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== } + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 dev: true /picocolors@1.0.0: - resolution: - { integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: - resolution: - { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} /pidtree@0.6.0: - resolution: - { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} hasBin: true dev: true /pify@3.0.0: - resolution: - { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } - engines: { node: '>=4' } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} dev: true /pify@4.0.1: - resolution: - { integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pkg-dir@4.2.0: - resolution: - { integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-dir@7.0.0: - resolution: - { integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: find-up: 6.3.0 dev: false /pkg-types@1.0.3: - resolution: - { integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== } + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 @@ -13983,15 +12538,13 @@ packages: dev: true /pluralize@8.0.0: - resolution: - { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: - { integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -14002,75 +12555,64 @@ packages: dev: false /postcss@8.4.38: - resolution: - { integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 /postgres-array@2.0.0: - resolution: - { integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} dev: true /postgres-array@3.0.2: - resolution: - { integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== } - engines: { node: '>=12' } + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} dev: true /postgres-bytea@1.0.0: - resolution: - { integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} dev: true /postgres-bytea@3.0.0: - resolution: - { integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 dev: true /postgres-date@1.0.7: - resolution: - { integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} dev: true /postgres-date@2.1.0: - resolution: - { integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} dev: true /postgres-interval@1.2.0: - resolution: - { integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 dev: true /postgres-interval@3.0.0: - resolution: - { integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} dev: true /postgres-range@1.1.4: - resolution: - { integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== } + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} dev: true /precinct@11.0.5(supports-color@9.4.0): - resolution: - { integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w== } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -14090,9 +12632,8 @@ packages: dev: false /preferred-pm@3.1.2: - resolution: - { integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -14101,28 +12642,24 @@ packages: dev: true /prelude-ls@1.2.1: - resolution: - { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier@2.8.8: - resolution: - { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true /prettier@3.2.5: - resolution: - { integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true /pretty-format@27.5.1: - resolution: - { integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 @@ -14130,9 +12667,8 @@ packages: dev: false /pretty-format@29.7.0: - resolution: - { integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -14140,60 +12676,51 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: false /pretty-ms@8.0.0: - resolution: - { integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} dependencies: parse-ms: 3.0.0 dev: false /proc-log@4.0.0: - resolution: - { integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /process-es6@0.11.6: - resolution: - { integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA== } + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} dev: true /process-nextick-args@2.0.1: - resolution: - { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process@0.10.1: - resolution: - { integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} + engines: {node: '>= 0.6.0'} dev: false /process@0.11.10: - resolution: - { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} dev: false /prompts@2.4.2: - resolution: - { integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: false /prop-types@15.8.1: - resolution: - { integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14201,9 +12728,8 @@ packages: dev: true /protobufjs@7.2.5: - resolution: - { integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A== } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==} + engines: {node: '>=12.0.0'} requiresBuild: true dependencies: '@protobufjs/aspromise': 1.1.2 @@ -14220,34 +12746,28 @@ packages: long: 5.2.3 /proxy-from-env@1.1.0: - resolution: - { integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false /prr@0.0.0: - resolution: - { integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ== } + resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} dev: true /prr@1.0.1: - resolution: - { integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== } + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true /ps-list@8.1.1: - resolution: - { integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /pseudomap@1.0.2: - resolution: - { integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== } + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true /public-encrypt@4.0.3: - resolution: - { integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== } + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.12.0 browserify-rsa: 4.1.0 @@ -14258,74 +12778,62 @@ packages: dev: true /pump@3.0.0: - resolution: - { integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: false /punycode@2.3.0: - resolution: - { integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} /qs@6.11.2: - resolution: - { integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: false /queue-microtask@1.2.3: - resolution: - { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} /queue-tick@1.0.1: - resolution: - { integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== } + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false /quick-lru@4.0.1: - resolution: - { integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} dev: true /quick-lru@5.1.1: - resolution: - { integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} /quote-unquote@1.0.0: - resolution: - { integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg== } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: false /rambda@7.5.0: - resolution: - { integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== } + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} dev: true /randombytes@2.1.0: - resolution: - { integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /randomfill@1.0.4: - resolution: - { integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== } + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true /react-devtools-core@4.28.0: - resolution: - { integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg== } + resolution: {integrity: sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==} dependencies: shell-quote: 1.8.1 ws: 7.5.9 @@ -14335,24 +12843,20 @@ packages: dev: true /react-is@16.13.1: - resolution: - { integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@17.0.2: - resolution: - { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== } + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: false /react-is@18.2.0: - resolution: - { integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.26.2(react@17.0.2): - resolution: - { integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^17.0.2 dependencies: @@ -14363,18 +12867,16 @@ packages: dev: true /react@17.0.2: - resolution: - { integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /read-pkg-up@7.0.1: - resolution: - { integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -14382,9 +12884,8 @@ packages: dev: true /read-pkg-up@9.1.0: - resolution: - { integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: find-up: 6.3.0 read-pkg: 7.1.0 @@ -14392,9 +12893,8 @@ packages: dev: false /read-pkg@3.0.0: - resolution: - { integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 @@ -14402,9 +12902,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 2.5.0 @@ -14413,9 +12912,8 @@ packages: dev: true /read-pkg@7.1.0: - resolution: - { integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} dependencies: '@types/normalize-package-data': 2.4.2 normalize-package-data: 3.0.3 @@ -14424,9 +12922,8 @@ packages: dev: false /read-yaml-file@1.1.0: - resolution: - { integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 @@ -14435,8 +12932,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: - { integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== } + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14445,8 +12941,7 @@ packages: dev: true /readable-stream@1.1.14: - resolution: - { integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== } + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14455,8 +12950,7 @@ packages: dev: true /readable-stream@2.3.8: - resolution: - { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14467,90 +12961,77 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: - { integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 /readdir-glob@1.1.3: - resolution: - { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: false /readdirp@3.6.0: - resolution: - { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 /rechoir@0.6.2: - resolution: - { integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.6 dev: true /redent@3.0.0: - resolution: - { integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 dev: true /redeyed@2.1.1: - resolution: - { integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== } + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} dependencies: esprima: 4.0.1 /reftools@1.1.9: - resolution: - { integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w== } + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} dev: true /regenerate-unicode-properties@10.1.1: - resolution: - { integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true /regenerate@1.4.2: - resolution: - { integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== } + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true /regenerator-runtime@0.14.0: - resolution: - { integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== } + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /regenerator-transform@0.15.2: - resolution: - { integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== } + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.1 dev: true /regexp-tree@0.1.27: - resolution: - { integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true /regexp.prototype.flags@1.5.1: - resolution: - { integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -14558,15 +13039,13 @@ packages: dev: true /regexpp@3.2.0: - resolution: - { integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} dev: true /regexpu-core@5.3.2: - resolution: - { integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -14577,25 +13056,22 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /regjsparser@0.9.1: - resolution: - { integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== } + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /relaxed-json@1.0.3: - resolution: - { integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg== } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-b7wGPo7o2KE/g7SqkJDDbav6zmrEeP4TK2VpITU72J/M949TLe/23y/ZHJo+pskcGM52xIfFoT9hydwmgr1AEg==} + engines: {node: '>= 0.10.0'} hasBin: true dependencies: chalk: 2.4.2 @@ -14603,8 +13079,7 @@ packages: dev: false /remark-footnotes@3.0.0: - resolution: - { integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== } + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 @@ -14613,16 +13088,14 @@ packages: dev: true /remark-frontmatter@3.0.0: - resolution: - { integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== } + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 dev: true /remark-gfm@1.0.0: - resolution: - { integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== } + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 @@ -14631,8 +13104,7 @@ packages: dev: true /remark-parse@9.0.0: - resolution: - { integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== } + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: @@ -14640,31 +13112,26 @@ packages: dev: true /remove-trailing-separator@1.1.0: - resolution: - { integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: false /repeat-string@1.6.1: - resolution: - { integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} dev: true /require-directory@2.1.1: - resolution: - { integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} /require-from-string@2.0.2: - resolution: - { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: false /require-in-the-middle@6.0.0(supports-color@9.4.0): - resolution: - { integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-+dtWQ7l2lqQDxheaG3jjyN1QI37gEwvzACSgjYi4/C2y+ZTUMeRW8BIOm+9NBKvwaMBUSZfPXVOt1skB0vBkRw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14674,9 +13141,8 @@ packages: dev: false /require-in-the-middle@7.2.0: - resolution: - { integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw== } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} + engines: {node: '>=8.6.0'} dependencies: debug: 4.3.4(supports-color@9.4.0) module-details-from-path: 1.0.3 @@ -14686,36 +13152,29 @@ packages: dev: true /require-main-filename@2.0.0: - resolution: - { integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /require-package-name@2.0.1: - resolution: - { integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== } + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false /resolve-alpn@1.2.1: - resolution: - { integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== } + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} /resolve-from@4.0.0: - resolution: - { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} /resolve-from@5.0.0: - resolution: - { integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} /resolve-pkg-maps@1.0.0: - resolution: - { integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} /resolve@1.22.6: - resolution: - { integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== } + resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14723,8 +13182,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.4: - resolution: - { integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== } + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -14733,79 +13191,68 @@ packages: dev: false /response-iterator@0.2.6: - resolution: - { integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} dev: true /responselike@3.0.0: - resolution: - { integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} dependencies: lowercase-keys: 3.0.0 /restore-cursor@3.1.0: - resolution: - { integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /retry@0.13.1: - resolution: - { integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== } - engines: { node: '>= 4' } + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} /reusify@1.0.4: - resolution: - { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} /rfdc@1.3.0: - resolution: - { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== } + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@3.0.2: - resolution: - { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: false /rimraf@5.0.5: - resolution: - { integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== } - engines: { node: '>=14' } + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} hasBin: true dependencies: glob: 10.3.8 dev: true /ripemd160@2.0.2: - resolution: - { integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rollup-plugin-auto-external@2.0.0(rollup@4.17.1): - resolution: - { integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} + engines: {node: '>=6'} peerDependencies: rollup: '>=0.45.2' dependencies: @@ -14817,9 +13264,8 @@ packages: dev: true /rollup-plugin-dts@6.1.0(rollup@4.17.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== } - engines: { node: '>=16' } + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 @@ -14832,9 +13278,8 @@ packages: dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.2)(rollup@4.17.1): - resolution: - { integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw== } - engines: { node: '>=14.18.0' } + resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} + engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -14850,8 +13295,7 @@ packages: dev: true /rollup-plugin-node-builtins@2.1.2: - resolution: - { integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw== } + resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} dependencies: browserify-fs: 1.0.0 buffer-es6: 4.9.3 @@ -14860,8 +13304,7 @@ packages: dev: true /rollup-plugin-node-globals@1.4.0: - resolution: - { integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== } + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} dependencies: acorn: 5.7.4 buffer-es6: 4.9.3 @@ -14872,38 +13315,33 @@ packages: dev: true /rollup-plugin-preserve-shebang@1.0.1: - resolution: - { integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg== } + resolution: {integrity: sha512-gk7ExGBqvUinhgrvldKHkAKXXwRkWMXMZymNkrtn50uBgHITlhRjhnKmbNGwAIc4Bzgl3yLv7/8Fhi/XeHhFKg==} dependencies: magic-string: 0.25.9 dev: true /rollup-plugin-strip-code@0.2.7: - resolution: - { integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw== } + resolution: {integrity: sha512-+5t9u/VrHPSfiRWWKMVin+KOtFwFak337FAZxeTjxYDjB3DDoHBQRkXHQvBn713eAfW81t41mGuysqsMXiuTjw==} dependencies: magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: true /rollup-pluginutils@2.8.1: - resolution: - { integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== } + resolution: {integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==} dependencies: estree-walker: 0.6.1 dev: true /rollup-pluginutils@2.8.2: - resolution: - { integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== } + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true /rollup@4.17.1: - resolution: - { integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ== } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } + resolution: {integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 @@ -14928,28 +13366,24 @@ packages: dev: true /run-applescript@7.0.0: - resolution: - { integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== } - engines: { node: '>=18' } + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} dev: false /run-parallel@1.2.0: - resolution: - { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 /rxjs@7.8.1: - resolution: - { integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.0.1: - resolution: - { integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14958,21 +13392,17 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} /safe-json-stringify@1.2.0: - resolution: - { integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== } + resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} dev: false /safe-regex-test@1.0.0: - resolution: - { integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== } + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -14980,60 +13410,51 @@ packages: dev: true /safe-resolve@1.0.0: - resolution: - { integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg== } + resolution: {integrity: sha512-aQpRvfxoi1y0UxKEU0tNO327kb0/LMo8Xrk64M2u172UqOOLCCM0khxN2OTClDiTqTJz5864GMD1X92j4YiHTg==} dev: true /safer-buffer@2.1.2: - resolution: - { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true /scheduler@0.20.2: - resolution: - { integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== } + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 dev: true /semver@2.3.2: - resolution: - { integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA== } + resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} hasBin: true dev: true /semver@5.7.2: - resolution: - { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true /semver@6.3.1: - resolution: - { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true /semver@7.5.4: - resolution: - { integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true /semver@7.6.0: - resolution: - { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /sentence-case@3.0.4: - resolution: - { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -15041,13 +13462,11 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-name@2.0.1: - resolution: - { integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.0 functions-have-names: 1.2.3 @@ -15055,8 +13474,7 @@ packages: dev: true /sha.js@2.4.11: - resolution: - { integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -15064,40 +13482,34 @@ packages: dev: true /shebang-command@1.2.0: - resolution: - { integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true /shebang-command@2.0.0: - resolution: - { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 /shebang-regex@1.0.0: - resolution: - { integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} dev: true /shebang-regex@3.0.0: - resolution: - { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} /shell-quote@1.8.1: - resolution: - { integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -15106,45 +13518,38 @@ packages: dev: true /shimmer@1.2.1: - resolution: - { integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} /should-equal@2.0.0: - resolution: - { integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA== } + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 dev: true /should-format@3.0.3: - resolution: - { integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q== } + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 dev: true /should-type-adaptors@1.1.0: - resolution: - { integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA== } + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 dev: true /should-type@1.4.0: - resolution: - { integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ== } + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} dev: true /should-util@1.0.1: - resolution: - { integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g== } + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} dev: true /should@13.2.3: - resolution: - { integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ== } + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} dependencies: should-equal: 2.0.0 should-format: 3.0.3 @@ -15154,9 +13559,8 @@ packages: dev: true /shx@0.3.4: - resolution: - { integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== } - engines: { node: '>=6' } + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} hasBin: true dependencies: minimist: 1.2.8 @@ -15164,48 +13568,40 @@ packages: dev: true /side-channel@1.0.4: - resolution: - { integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== } + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 /siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true /signal-exit@3.0.7: - resolution: - { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} /signal-exit@4.0.2: - resolution: - { integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== } - engines: { node: '>=14' } + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} dev: false /signal-exit@4.1.0: - resolution: - { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} /simple-swizzle@0.2.2: - resolution: - { integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== } + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 /sisteransi@1.0.5: - resolution: - { integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false /size-limit@11.1.2: - resolution: - { integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-W9V/QR98fiLgGg+S77DNy7usExpz7HCdDAqm2t2Q77GWCV//wWUC6hyZA9QXKk1x6bxMMTzq1vmncw5Cve/43w==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: bytes-iec: 3.1.1 @@ -15218,25 +13614,21 @@ packages: dev: true /slash@3.0.0: - resolution: - { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} /slash@4.0.0: - resolution: - { integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} /slash@5.1.0: - resolution: - { integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} dev: true /slice-ansi@3.0.0: - resolution: - { integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15244,36 +13636,32 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 /slice-ansi@5.0.0: - resolution: - { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@7.1.0: - resolution: - { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } - engines: { node: '>=18' } + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 dev: true /smartwrap@2.0.2: - resolution: - { integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} hasBin: true dependencies: array.prototype.flat: 1.3.2 @@ -15285,21 +13673,18 @@ packages: dev: true /snake-case@3.0.4: - resolution: - { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /sort-object-keys@1.1.3: - resolution: - { integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.10.0: - resolution: - { integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g== } + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -15313,158 +13698,133 @@ packages: dev: true /source-map-js@1.2.0: - resolution: - { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} /source-map@0.6.1: - resolution: - { integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} requiresBuild: true dev: false optional: true /sourcemap-codec@1.4.8: - resolution: - { integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== } + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spawndamnit@2.0.0: - resolution: - { integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== } + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 dev: true /spdx-correct@3.2.0: - resolution: - { integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.15 /spdx-exceptions@2.3.0: - resolution: - { integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== } + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: - resolution: - { integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.15 /spdx-license-ids@3.0.15: - resolution: - { integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== } + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} /split2@4.2.0: - resolution: - { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } - engines: { node: '>= 10.x' } + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} dev: true /sprintf-js@1.0.3: - resolution: - { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} /stack-generator@2.0.10: - resolution: - { integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== } + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} dependencies: stackframe: 1.3.4 dev: false /stack-utils@2.0.6: - resolution: - { integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: - resolution: - { integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== } + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: false /statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /std-env@3.6.0: - resolution: - { integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg== } + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true /stream-transform@2.1.3: - resolution: - { integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== } + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true /streamx@2.15.1: - resolution: - { integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== } + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false /strict-event-emitter@0.5.1: - resolution: - { integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== } + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-argv@0.3.2: - resolution: - { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } - engines: { node: '>=0.6.19' } + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} dev: true /string-range@1.2.2: - resolution: - { integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w== } + resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} dev: true /string-template@0.2.1: - resolution: - { integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== } + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: false /string-width@4.2.3: - resolution: - { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 /string-width@7.0.0: - resolution: - { integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw== } - engines: { node: '>=18' } + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 @@ -15472,9 +13832,8 @@ packages: dev: true /string.prototype.trim@1.2.8: - resolution: - { integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15482,8 +13841,7 @@ packages: dev: true /string.prototype.trimend@1.0.7: - resolution: - { integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== } + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15491,8 +13849,7 @@ packages: dev: true /string.prototype.trimstart@1.0.7: - resolution: - { integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== } + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.1 @@ -15500,121 +13857,102 @@ packages: dev: true /string_decoder@0.10.31: - resolution: - { integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== } + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true /string_decoder@1.1.1: - resolution: - { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: - { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 /strip-ansi@6.0.1: - resolution: - { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 /strip-bom@3.0.0: - resolution: - { integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-final-newline@2.0.0: - resolution: - { integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: false /strip-final-newline@3.0.0: - resolution: - { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} /strip-indent@3.0.0: - resolution: - { integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@3.1.1: - resolution: - { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strip-literal@2.0.0: - resolution: - { integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== } + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 dev: true /strnum@1.0.5: - resolution: - { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /supports-color@5.5.0: - resolution: - { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 /supports-color@7.2.0: - resolution: - { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 /supports-color@9.4.0: - resolution: - { integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} /supports-hyperlinks@2.3.0: - resolution: - { integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 supports-color: 7.2.0 /supports-preserve-symlinks-flag@1.0.0: - resolution: - { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swagger2openapi@7.0.8: - resolution: - { integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g== } + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true dependencies: call-me-maybe: 1.0.2 @@ -15633,21 +13971,18 @@ packages: dev: true /symbol-observable@4.0.0: - resolution: - { integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} dev: true /tapable@2.2.1: - resolution: - { integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -15657,8 +13992,7 @@ packages: dev: false /tar-stream@3.1.6: - resolution: - { integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== } + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} dependencies: b4a: 1.6.4 fast-fifo: 1.3.2 @@ -15666,9 +14000,8 @@ packages: dev: false /tar@6.2.0: - resolution: - { integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -15679,43 +14012,37 @@ packages: dev: false /term-size@2.2.1: - resolution: - { integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} dev: true /terminal-link@3.0.0: - resolution: - { integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg== } - engines: { node: '>=12' } + resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} + engines: {node: '>=12'} dependencies: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 dev: false /text-table@0.2.0: - resolution: - { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} /thenify-all@1.6.0: - resolution: - { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true /thenify@3.3.1: - resolution: - { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true /thriftrw@3.11.4: - resolution: - { integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA== } - engines: { node: '>= 0.10.x' } + resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} + engines: {node: '>= 0.10.x'} hasBin: true dependencies: bufrw: 1.3.0 @@ -15724,97 +14051,81 @@ packages: dev: false /time-span@4.0.0: - resolution: - { integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g== } - engines: { node: '>=10' } + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: false /tinybench@2.5.1: - resolution: - { integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== } + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.8.4: - resolution: - { integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} dev: true /tinyspy@2.2.0: - resolution: - { integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} dev: true /tmp-promise@3.0.3: - resolution: - { integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== } + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} dependencies: tmp: 0.2.3 dev: false /tmp@0.0.33: - resolution: - { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true /tmp@0.2.3: - resolution: - { integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== } - engines: { node: '>=14.14' } + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} dev: false /to-fast-properties@2.0.0: - resolution: - { integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} /to-regex-range@5.0.1: - resolution: - { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 /toml@3.0.0: - resolution: - { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false /tomlify-j0.4@3.0.0: - resolution: - { integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== } + resolution: {integrity: sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==} dev: false /tr46@0.0.3: - resolution: - { integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /traverse@0.6.7: - resolution: - { integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== } + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} dev: true /trim-newlines@3.0.1: - resolution: - { integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== } - engines: { node: '>=8' } + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} dev: true /trough@1.0.5: - resolution: - { integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== } + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: - { integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -15822,23 +14133,20 @@ packages: dev: true /ts-invariant@0.10.3: - resolution: - { integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== } - engines: { node: '>=8' } + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} dependencies: tslib: 2.6.2 dev: true /ts-morph@22.0.0: - resolution: - { integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== } + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} dependencies: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): - resolution: - { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -15868,8 +14176,7 @@ packages: yn: 3.1.1 /tsconfig-paths@3.15.0: - resolution: - { integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -15878,17 +14185,14 @@ packages: dev: true /tslib@1.14.1: - resolution: - { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} /tslib@2.6.2: - resolution: - { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.8.2): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15897,9 +14201,8 @@ packages: dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: - { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: @@ -15908,9 +14211,8 @@ packages: dev: false /tsx@4.7.3: - resolution: - { integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ== } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.11 @@ -15920,9 +14222,8 @@ packages: dev: true /tty-table@4.2.1: - resolution: - { integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 @@ -15935,15 +14236,13 @@ packages: dev: true /tunnel-agent@0.6.0: - resolution: - { integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== } + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true /turbo-darwin-64@1.13.3: - resolution: - { integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA== } + resolution: {integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -15951,8 +14250,7 @@ packages: optional: true /turbo-darwin-arm64@1.13.3: - resolution: - { integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg== } + resolution: {integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -15960,8 +14258,7 @@ packages: optional: true /turbo-linux-64@1.13.3: - resolution: - { integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g== } + resolution: {integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==} cpu: [x64] os: [linux] requiresBuild: true @@ -15969,8 +14266,7 @@ packages: optional: true /turbo-linux-arm64@1.13.3: - resolution: - { integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ== } + resolution: {integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==} cpu: [arm64] os: [linux] requiresBuild: true @@ -15978,8 +14274,7 @@ packages: optional: true /turbo-windows-64@1.13.3: - resolution: - { integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q== } + resolution: {integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -15987,8 +14282,7 @@ packages: optional: true /turbo-windows-arm64@1.13.3: - resolution: - { integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ== } + resolution: {integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==} cpu: [arm64] os: [win32] requiresBuild: true @@ -15996,8 +14290,7 @@ packages: optional: true /turbo@1.13.3: - resolution: - { integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g== } + resolution: {integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==} hasBin: true optionalDependencies: turbo-darwin-64: 1.13.3 @@ -16009,86 +14302,72 @@ packages: dev: true /typanion@3.14.0: - resolution: - { integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug== } + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} dev: true /type-check@0.4.0: - resolution: - { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.13.1: - resolution: - { integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== } - engines: { node: '>=10' } + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-fest@1.4.0: - resolution: - { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: false /type-fest@2.19.0: - resolution: - { integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} dev: false /type-fest@3.13.1: - resolution: - { integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /type-fest@4.9.0: - resolution: - { integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg== } - engines: { node: '>=16' } + resolution: {integrity: sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==} + engines: {node: '>=16'} dev: true /typed-array-buffer@1.0.0: - resolution: - { integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 @@ -16096,9 +14375,8 @@ packages: dev: true /typed-array-byte-length@1.0.0: - resolution: - { integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16107,9 +14385,8 @@ packages: dev: true /typed-array-byte-offset@1.0.0: - resolution: - { integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16119,8 +14396,7 @@ packages: dev: true /typed-array-length@1.0.4: - resolution: - { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== } + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 @@ -16128,19 +14404,16 @@ packages: dev: true /typedarray-to-buffer@1.0.4: - resolution: - { integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw== } + resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true /typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript-eslint@7.7.1(eslint@9.1.1)(typescript@5.4.5): - resolution: - { integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ== } - engines: { node: ^18.18.0 || >=20.0.0 } + resolution: {integrity: sha512-ykEBfa3xx3odjZy6GRED4SCPrjo0rgHwstLlEgLX4EMEuv7QeIDSmfV+S6Kk+XkbsYn4BDEcPvsci1X26lRpMQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -16158,33 +14431,28 @@ packages: dev: true /typescript@4.8.2: - resolution: - { integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== } - engines: { node: '>=4.2.0' } + resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + engines: {node: '>=4.2.0'} hasBin: true dev: true /typescript@5.2.2: - resolution: - { integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: false /typescript@5.4.5: - resolution: - { integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true /ufo@1.3.0: - resolution: - { integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw== } + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /unbox-primitive@1.0.2: - resolution: - { integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -16193,50 +14461,42 @@ packages: dev: true /underscore@1.13.6: - resolution: - { integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== } + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true /undici-types@5.26.5: - resolution: - { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: - { integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== } - engines: { node: '>=4' } + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} dev: true /unicode-match-property-ecmascript@2.0.0: - resolution: - { integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== } - engines: { node: '>=4' } + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 dev: true /unicode-match-property-value-ecmascript@2.1.0: - resolution: - { integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== } - engines: { node: '>=4' } + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} dev: true /unicode-property-aliases-ecmascript@2.1.0: - resolution: - { integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== } - engines: { node: '>=4' } + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} dev: true /unicorn-magic@0.1.0: - resolution: - { integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== } - engines: { node: '>=18' } + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} dev: true /unified@9.2.2: - resolution: - { integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== } + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} dependencies: '@types/unist': 2.0.8 bail: 1.0.5 @@ -16248,41 +14508,35 @@ packages: dev: true /unist-util-is@4.1.0: - resolution: - { integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== } + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} dev: true /unist-util-stringify-position@2.0.3: - resolution: - { integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== } + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.8 dev: true /unist-util-visit-parents@3.1.1: - resolution: - { integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== } + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: '@types/unist': 2.0.8 unist-util-is: 4.1.0 dev: true /universalify@0.1.2: - resolution: - { integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.0: - resolution: - { integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} dev: true /unix-dgram@2.0.6: - resolution: - { integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg== } - engines: { node: '>=0.10.48' } + resolution: {integrity: sha512-AURroAsb73BZ6CdAyMrTk/hYKNj3DuYYEuOaB8bYMOHGKupRNScw90Q5C71tWJc3uE7dIeXRyuwN0xLLq3vDTg==} + engines: {node: '>=0.10.48'} requiresBuild: true dependencies: bindings: 1.5.0 @@ -16291,16 +14545,14 @@ packages: optional: true /unixify@1.0.0: - resolution: - { integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: false /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16310,87 +14562,73 @@ packages: picocolors: 1.0.0 /update-section@0.3.3: - resolution: - { integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw== } + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} dev: true /upper-case-first@2.0.2: - resolution: - { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 /urlpattern-polyfill@8.0.2: - resolution: - { integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: false /util-deprecate@1.0.2: - resolution: - { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /uuid@8.3.2: - resolution: - { integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: false /uuid@9.0.1: - resolution: - { integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true /v8-compile-cache-lib@3.0.1: - resolution: - { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} /validate-npm-package-license@3.0.4: - resolution: - { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 /validate-npm-package-name@4.0.0: - resolution: - { integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: builtins: 5.0.1 dev: false /validate-npm-package-name@5.0.0: - resolution: - { integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 /vfile-message@2.0.4: - resolution: - { integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== } + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: '@types/unist': 2.0.8 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: - resolution: - { integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== } + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: '@types/unist': 2.0.8 is-buffer: 2.0.5 @@ -16399,9 +14637,8 @@ packages: dev: true /vite-node@1.5.2(@types/node@20.12.7): - resolution: - { integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 @@ -16421,9 +14658,8 @@ packages: dev: true /vite@5.2.10(@types/node@20.12.7): - resolution: - { integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || >=20.0.0 @@ -16458,9 +14694,8 @@ packages: dev: true /vitest@1.5.2(@types/node@20.12.7): - resolution: - { integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw== } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -16515,37 +14750,31 @@ packages: dev: true /vlq@0.2.3: - resolution: - { integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== } + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true /wcwidth@1.0.1: - resolution: - { integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.2.1: - resolution: - { integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /webidl-conversions@3.0.1: - resolution: - { integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /whatwg-url@5.0.0: - resolution: - { integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16555,23 +14784,20 @@ packages: dev: true /which-module@2.0.1: - resolution: - { integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-pm@2.0.0: - resolution: - { integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== } - engines: { node: '>=8.15' } + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 dev: true /which-typed-array@1.1.11: - resolution: - { integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 @@ -16581,34 +14807,30 @@ packages: dev: true /which@1.3.1: - resolution: - { integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 /which@4.0.0: - resolution: - { integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== } - engines: { node: ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: isexe: 3.1.1 dev: false /why-is-node-running@2.2.2: - resolution: - { integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} hasBin: true dependencies: siginfo: 2.0.0 @@ -16616,53 +14838,46 @@ packages: dev: true /wide-align@1.1.5: - resolution: - { integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== } + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 dev: false /widest-line@3.1.0: - resolution: - { integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 /windows-release@5.1.1: - resolution: - { integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 dev: false /wordwrap@1.0.0: - resolution: - { integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} /wrap-ansi@6.2.0: - resolution: - { integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: - { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@8.1.0: - resolution: - { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16670,9 +14885,8 @@ packages: dev: true /wrap-ansi@9.0.0: - resolution: - { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } - engines: { node: '>=18' } + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 string-width: 7.0.0 @@ -16680,13 +14894,11 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /ws@7.5.9: - resolution: - { integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -16698,103 +14910,86 @@ packages: dev: true /xorshift@1.2.0: - resolution: - { integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== } + resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} dev: false /xtend@2.0.6: - resolution: - { integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} + engines: {node: '>=0.4'} dependencies: is-object: 0.1.2 object-keys: 0.2.0 dev: true /xtend@2.1.2: - resolution: - { integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} + engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: true /xtend@2.2.0: - resolution: - { integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} dev: true /xtend@3.0.0: - resolution: - { integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} + engines: {node: '>=0.4'} dev: true /xtend@4.0.2: - resolution: - { integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /y18n@4.0.3: - resolution: - { integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} /yallist@2.1.2: - resolution: - { integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== } + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true /yallist@3.1.1: - resolution: - { integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} /yallist@4.0.0: - resolution: - { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml@1.10.2: - resolution: - { integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.3.4: - resolution: - { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } - engines: { node: '>= 14' } + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} dev: true /yargs-parser@18.1.3: - resolution: - { integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.9: - resolution: - { integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== } - engines: { node: '>=10' } + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} /yargs@15.4.1: - resolution: - { integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -16810,9 +15005,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -16824,9 +15018,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -16837,53 +15030,45 @@ packages: yargs-parser: 21.1.1 /yarn@1.22.22: - resolution: - { integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true dev: false /yn@3.1.1: - resolution: - { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} /yocto-queue@0.1.0: - resolution: - { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yocto-queue@1.0.0: - resolution: - { integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} /yoga-layout-prebuilt@1.10.0: - resolution: - { integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g== } - engines: { node: '>=8' } + resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} + engines: {node: '>=8'} dependencies: '@types/yoga-layout': 1.9.2 dev: true /zen-observable-ts@1.2.5: - resolution: - { integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== } + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} dependencies: zen-observable: 0.8.15 dev: true /zen-observable@0.8.15: - resolution: - { integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== } + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} dev: true /zip-stream@4.1.1: - resolution: - { integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -16891,9 +15076,8 @@ packages: dev: false /zip-stream@5.0.1: - resolution: - { integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA== } - engines: { node: '>= 12.0.0' } + resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==} + engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 @@ -16901,8 +15085,7 @@ packages: dev: false /zod-to-json-schema@3.23.0(zod@3.23.4): - resolution: - { integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag== } + resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} peerDependencies: zod: ^3.23.3 dependencies: @@ -16910,10 +15093,8 @@ packages: dev: false /zod@3.23.4: - resolution: - { integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw== } + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} /zwitch@1.0.5: - resolution: - { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== } + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true diff --git a/test/integration/cache.test.ts b/test/integration/cache.test.ts deleted file mode 100644 index 8ac6963aa..000000000 --- a/test/integration/cache.test.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from 'vitest'; -import { BaseClientOptions, SimpleCache } from '../../packages/client/src'; -import { XataClient } from '../../packages/codegen/example/xata'; -import { setUpTestEnvironment, TestEnvironmentResult } from '../utils/setup'; - -const cache = new SimpleCache(); - -let xata: XataClient; -let clientOptions: BaseClientOptions; -let hooks: TestEnvironmentResult['hooks']; - -beforeAll(async (ctx) => { - const result = await setUpTestEnvironment('cache', { cache }); - - xata = result.client; - clientOptions = result.clientOptions; - hooks = result.hooks; - - await hooks.beforeAll(ctx); -}); - -afterAll(async (ctx) => { - await hooks.afterAll(ctx); -}); - -beforeEach(async (ctx) => { - await hooks.beforeEach(ctx); -}); - -afterEach(async (ctx) => { - await cache.clear(); - await hooks.afterEach(ctx); -}); - -describe('cache', () => { - test('query with ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(Object.keys(cacheItems)).toHaveLength(1); - - const [cacheKey, value] = cacheItems[0] as any; - const cacheItem = await cache.get(cacheKey); - expect(cacheItem).not.toBeNull(); - expect(cacheItem?.records[0]?.full_name).toBe('John Doe'); - - await cache.set(cacheKey, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 120000 }); - expect(query?.full_name).toBe('Jane Doe'); - }); - - test('query with expired ttl', async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - await new Promise((resolve) => setTimeout(resolve, 2000)); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: 500 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test("query with negative ttl doesn't cache", async () => { - const user = await xata.db.users.create({ full_name: 'John Doe' }); - - await cache.clear(); - - await xata.db.users.filter({ id: user.id }).getFirst(); - - const cacheItems = Object.entries(await cache.getAll()); - expect(cacheItems).toHaveLength(1); - - const [key, value] = cacheItems[0] as any; - - await cache.set(key, { ...value, records: [{ ...user, full_name: 'Jane Doe' }] }); - - const query = await xata.db.users.filter({ id: user.id }).getFirst({ cache: -1 }); - expect(query?.full_name).toBe('John Doe'); - }); - - test('no cache', async () => { - const client1 = new XataClient({ ...clientOptions, cache: undefined }); - const client2 = new XataClient({ ...clientOptions, cache: undefined }); - - const teamsA1 = await client1.db.teams.getAll(); - const teamsA2 = await client2.db.teams.getAll(); - - expect(teamsA1).toHaveLength(teamsA2.length); - - await client2.db.teams.create({}); - - const teamsB1 = await client1.db.teams.getAll(); - const teamsB2 = await client2.db.teams.getAll(); - - expect(teamsB1).toHaveLength(teamsB2.length); - expect(teamsB1).toHaveLength(teamsA1.length + 1); - expect(teamsB2).toHaveLength(teamsA2.length + 1); - }); -}); diff --git a/test/utils/setup.ts b/test/utils/setup.ts index f12fcb50f..063720b35 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -8,7 +8,7 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import dotenv from 'dotenv'; import { join } from 'path'; import { File, Mock, Suite, TestContext, vi } from 'vitest'; -import { BaseClient, CacheImpl, XataApiClient } from '../../packages/client/src'; +import { BaseClient, XataApiClient } from '../../packages/client/src'; import { getHostUrl, parseProviderString } from '../../packages/client/src/api/providers'; import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; @@ -29,7 +29,6 @@ const region = process.env.XATA_REGION || 'eu-west-1'; const host = parseProviderString(process.env.XATA_API_PROVIDER); export type EnvironmentOptions = { - cache?: CacheImpl; fetch?: any; }; @@ -45,7 +44,6 @@ export type TestEnvironmentResult = { fetch: Mock; apiKey: string; branch: string; - cache?: CacheImpl; }; hooks: { beforeAll: (ctx: Suite | File) => Promise; @@ -57,7 +55,7 @@ export type TestEnvironmentResult = { export async function setUpTestEnvironment( prefix: string, - { cache, fetch: envFetch }: EnvironmentOptions = {} + { fetch: envFetch }: EnvironmentOptions = {} ): Promise { if (host === null) { throw new Error( @@ -86,7 +84,6 @@ export async function setUpTestEnvironment( branch: 'main', apiKey, fetch, - cache, trace, clientName: 'sdk-tests' }; From 458dc40f52a5205fcdb45d5ef1f206932aa4661e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:22:48 +0100 Subject: [PATCH 138/145] Update pgroll spec Signed-off-by: Alexis Rico --- cli/src/commands/pull/index.ts | 2 +- cli/src/commands/push/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/commands/pull/index.ts b/cli/src/commands/pull/index.ts index 0f43064fe..aea162d63 100644 --- a/cli/src/commands/pull/index.ts +++ b/cli/src/commands/pull/index.ts @@ -53,7 +53,7 @@ export default class Pull extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 70f016906..596b88655 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -49,7 +49,7 @@ export default class Push extends BaseCommand { let logs: Schemas.MigrationHistoryItem[] | Schemas.Commit[] = []; if (isBranchPgRollEnabled(details)) { - const { migrations } = await xata.api.branch.pgRollMigrationHistory({ + const { migrations } = await xata.api.migrations.getMigrationHistory({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` } }); logs = migrations; @@ -103,7 +103,7 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.branch.applyMigration({ + await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); From 05bc97739f645ca555cce8c242d58dde0b4b8a5f Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Tue, 27 Feb 2024 08:51:18 +0100 Subject: [PATCH 139/145] Fix release in next channel Signed-off-by: Alexis Rico --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 55331ed46..9c4f6aa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,8 +52,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }} run: | - npx changeset version - npx changeset publish + npx changeset pre exit + npx changeset version --snapshot next + npx changeset publish --tag next --no-git-tag - name: Create Release Pull Request or Publish to npm uses: changesets/action@v1 From dcc9b73461f4f84da6e4a05a8cbc9bfafd3db12e Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 28 Feb 2024 16:54:14 +0100 Subject: [PATCH 140/145] Rename internal columns breaking change (#1370) Signed-off-by: Alexis Rico --- cli/src/commands/diff/index.ts | 65 --------- cli/src/utils/diff.ts | 26 ---- packages/client/src/api/fetcher.ts | 2 + packages/client/src/schema/filters.test.ts | 6 +- packages/client/src/schema/filters.ts | 3 +- packages/client/src/schema/index.test.ts | 22 +-- packages/client/src/schema/index.ts | 2 +- packages/client/src/schema/inference.spec.ts | 16 +-- packages/client/src/schema/query.ts | 4 +- packages/client/src/schema/record.ts | 70 +++------- packages/client/src/schema/repository.ts | 134 +++++++++---------- packages/client/src/schema/selection.spec.ts | 71 +++++----- packages/client/src/schema/selection.ts | 16 +-- packages/client/src/schema/sorting.spec.ts | 8 +- packages/client/src/schema/sorting.ts | 4 +- packages/client/src/search/boosters.spec.ts | 2 +- packages/client/src/search/index.ts | 18 ++- packages/codegen/example/schema.json | 60 +++++++++ packages/codegen/example/types.d.ts | 63 +++++++++ packages/codegen/example/xata.cjs | 100 ++++++++------ packages/codegen/example/xata.js | 16 ++- packages/codegen/example/xata.ts | 14 +- test/integration/create.test.ts | 116 +++++++--------- test/integration/createOrReplace.test.ts | 28 ++-- test/integration/createOrUpdate.test.ts | 38 +++--- test/integration/delete.test.ts | 34 ++--- test/integration/files.test.ts | 10 +- test/integration/json.test.ts | 24 ++-- test/integration/query.test.ts | 108 ++++++--------- test/integration/read.test.ts | 48 +++---- test/integration/revlinks.test.ts | 6 +- test/integration/search.test.ts | 76 +++++------ test/integration/smoke.test.ts | 9 +- test/integration/sql.test.ts | 117 ++++++++-------- test/integration/summarize.test.ts | 10 +- test/integration/transactions.test.ts | 32 ++--- test/integration/update.test.ts | 73 +++++----- test/mock_data.ts | 88 ++++++++++++ test/utils/setup.ts | 54 ++++++-- 39 files changed, 847 insertions(+), 746 deletions(-) delete mode 100644 cli/src/commands/diff/index.ts delete mode 100644 cli/src/utils/diff.ts diff --git a/cli/src/commands/diff/index.ts b/cli/src/commands/diff/index.ts deleted file mode 100644 index e3d6ca7d4..000000000 --- a/cli/src/commands/diff/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Args } from '@oclif/core'; -import { BaseCommand } from '../../base.js'; -import { getLocalMigrationFiles } from '../../migrations/files.js'; -import { buildMigrationDiff } from '../../utils/diff.js'; -import compact from 'lodash.compact'; - -export default class Diff extends BaseCommand { - static description = 'Compare two local or remote branches'; - - static examples = []; - - static flags = { - ...this.commonFlags, - ...this.databaseURLFlag - }; - - static args = { - branch: Args.string({ description: 'The branch to compare', required: false }), - base: Args.string({ description: 'The base branch to compare against', required: false }) - }; - - static hidden = true; - - static enableJsonFlag = true; - - async run() { - const { args, flags } = await this.parseCommand(); - - const xata = await this.getXataClient(); - const { workspace, region, database, branch } = await this.getParsedDatabaseURLWithBranch( - flags.db, - args.branch ?? 'main' - ); - - this.info(`Diff command is experimental, use with caution`); - - const localMigrationFiles = await getLocalMigrationFiles(); - const schemaOperations = compact(localMigrationFiles.flatMap((migrationFile) => migrationFile.operations)); - - const apiRequest = - args.branch && args.base - ? xata.api.migrations.compareBranchSchemas({ - pathParams: { workspace, region, dbBranchName: `${database}:${args.branch}`, branchName: args.base }, - body: {} - }) - : xata.api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, - body: { schema: { tables: [] }, schemaOperations } - }); - - const { - edits: { operations } - } = await apiRequest; - - const diff = buildMigrationDiff(operations); - if (this.jsonEnabled()) return diff; - - if (operations.length === 0) { - this.log('No changes found'); - return; - } - - this.log(diff); - } -} diff --git a/cli/src/utils/diff.ts b/cli/src/utils/diff.ts deleted file mode 100644 index 118f35ded..000000000 --- a/cli/src/utils/diff.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Schemas } from '@xata.io/client'; -import chalk from 'chalk'; - -export function buildMigrationDiff(ops: Schemas.MigrationOp[]): string { - const lines = ops.map((op) => { - if ('addTable' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addTable.table)}`; - } else if ('removeTable' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeTable.table)}`; - } else if ('renameTable' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameTable.oldName)} -> ${chalk.bold(op.renameTable.newName)}`; - } else if ('addColumn' in op) { - return `${chalk.green('+')} ${chalk.bold(op.addColumn.table)}.${chalk.bold(op.addColumn.column.name)}`; - } else if ('removeColumn' in op) { - return `${chalk.red('-')} ${chalk.bold(op.removeColumn.table)}.${chalk.bold(op.removeColumn.column)}`; - } else if ('renameColumn' in op) { - return `${chalk.yellow('~')} ${chalk.bold(op.renameColumn.table)}.${chalk.bold( - op.renameColumn.oldName - )} -> ${chalk.bold(op.renameColumn.newName)}`; - } else { - throw new Error(`Unknown migration op: ${JSON.stringify(op)}`); - } - }); - - return lines.join('\n'); -} diff --git a/packages/client/src/api/fetcher.ts b/packages/client/src/api/fetcher.ts index 6971e5c02..94ca7e7b6 100644 --- a/packages/client/src/api/fetcher.ts +++ b/packages/client/src/api/fetcher.ts @@ -203,6 +203,8 @@ export async function fetch< 'X-Xata-Client-ID': clientID ?? defaultClientID, 'X-Xata-Session-ID': sessionID ?? generateUUID(), 'X-Xata-Agent': xataAgent, + // Force field rename to xata_ internal properties + 'X-Features': compact(['feat-internal-field-rename-api=1', customHeaders?.['X-Features']]).join(' '), ...customHeaders, ...hostHeader(fullUrl), Authorization: `Bearer ${apiKey}` diff --git a/packages/client/src/schema/filters.test.ts b/packages/client/src/schema/filters.test.ts index 79725497c..c8273b372 100644 --- a/packages/client/src/schema/filters.test.ts +++ b/packages/client/src/schema/filters.test.ts @@ -5,6 +5,10 @@ import { XataRecord } from './record'; import { FilterExpression } from '../api/schemas'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -230,7 +234,7 @@ const filterWithWildcardIsNotAllowed: Filter = { '*': { $is: 'foo' } }; const filterWithLinkWildcardIsNotAllowed: Filter = { 'owner.*': { $is: 'foo' } }; // Filter on internal column is allowed -const filterOnInternalColumnIsAllowed: Filter = { 'xata.version': { $is: 4 } }; +const filterOnInternalColumnIsAllowed: Filter = { xata_version: { $is: 4 } }; test('fake test', () => { // This is a fake test to make sure that the type definitions in this file are working diff --git a/packages/client/src/schema/filters.ts b/packages/client/src/schema/filters.ts index e5c65032a..e3272628b 100644 --- a/packages/client/src/schema/filters.ts +++ b/packages/client/src/schema/filters.ts @@ -2,7 +2,6 @@ import { FilterExpression, FilterPredicate } from '../api/schemas'; import { isDefined, isObject } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; import { JSONValue } from './json'; -import { XataRecordMetadata } from './record'; import { ColumnsByValue, ValueAtColumn } from './selection'; export type JSONFilterColumns = Values<{ @@ -13,7 +12,7 @@ export type JSONFilterColumns = Values<{ : never; }>; -export type FilterColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type FilterColumns = ColumnsByValue; export type FilterValueAtColumn = NonNullable> extends JSONValue ? PropertyFilter diff --git a/packages/client/src/schema/index.test.ts b/packages/client/src/schema/index.test.ts index f62a8c123..4741adc7e 100644 --- a/packages/client/src/schema/index.test.ts +++ b/packages/client/src/schema/index.test.ts @@ -4,7 +4,7 @@ import { server } from '../../../../test/mock_server'; import { Response } from '../util/fetch'; interface User { - id: string; + xata_id: string; name: string; } @@ -322,14 +322,14 @@ describe('query', () => { test('returns a single object', async () => { const { fetch, users } = buildClient(); - const resultBody = { records: [{ id: '1234' }], meta: { page: { cursor: '', more: false } } }; + const resultBody = { records: [{ xata_id: '1234' }], meta: { page: { cursor: '', more: false } } }; const expected = { method: 'POST', path: '/tables/users/query', body: { page: { size: 1 } } }; const result = await expectRequest( fetch, expected, async () => { const first = await users.getFirst(); - expect(first?.id).toBe(resultBody.records[0].id); + expect(first?.xata_id).toBe(resultBody.records[0].xata_id); }, resultBody ); @@ -414,19 +414,19 @@ describe('Repository.update', () => { test('updates an object successfully', async () => { const { fetch, users } = buildClient(); - const object = { id: 'rec_1234', xata: { version: 1 }, name: 'Ada' }; + const object = { xata_id: 'rec_1234', xata_version: 1, name: 'Ada' }; const expected = [ - { method: 'PUT', path: `/tables/users/data/${object.id}`, body: object }, - { method: 'GET', path: `/tables/users/data/${object.id}` } + { method: 'PUT', path: `/tables/users/data/${object.xata_id}`, body: object }, + { method: 'GET', path: `/tables/users/data/${object.xata_id}` } ]; const result = await expectRequest( fetch, expected, async () => { - const result = await users.update(object.id, object); - expect(result?.id).toBe(object.id); + const result = await users.update(object.xata_id, object); + expect(result?.xata_id).toBe(object.xata_id); }, - { id: object.id } + { xata_id: object.xata_id } ); expect(result).toMatchInlineSnapshot(` @@ -467,7 +467,7 @@ describe('create', () => { test('successful', async () => { const { fetch, users } = buildClient(); - const created = { id: 'rec_1234', _version: 0 }; + const created = { xata_id: 'rec_1234', _version: 0 }; const object = { name: 'Ada' } as User; const expected = [ { method: 'POST', path: '/tables/users/data', body: object }, @@ -483,7 +483,7 @@ describe('create', () => { expected, async () => { const result = await users.create(object); - expect(result.id).toBe(created.id); + expect(result.xata_id).toBe(created.xata_id); }, created ); diff --git a/packages/client/src/schema/index.ts b/packages/client/src/schema/index.ts index 49a3ccdcf..b63fe4d5b 100644 --- a/packages/client/src/schema/index.ts +++ b/packages/client/src/schema/index.ts @@ -10,7 +10,7 @@ export * from './inference'; export * from './operators'; export * from './pagination'; export { Query } from './query'; -export { RecordColumnTypes, isIdentifiable, isXataRecord } from './record'; +export { RecordColumnTypes, isIdentifiable } from './record'; export type { BaseData, EditableData, Identifiable, JSONData, Link, XataRecord } from './record'; export { Repository, RestRepository } from './repository'; export * from './selection'; diff --git a/packages/client/src/schema/inference.spec.ts b/packages/client/src/schema/inference.spec.ts index 438c1752a..1aa717e2a 100644 --- a/packages/client/src/schema/inference.spec.ts +++ b/packages/client/src/schema/inference.spec.ts @@ -8,6 +8,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'name', type: 'string' }, { name: 'labels', type: 'multiple' }, { name: 'owner', type: 'link', link: { table: 'users' } } @@ -16,6 +20,10 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string' }, + { name: 'xata_version', type: 'int' }, + { name: 'xata_createdat', type: 'datetime' }, + { name: 'xata_updatedat', type: 'datetime' }, { name: 'email', type: 'email' }, { name: 'full_name', type: 'string', notNull: true, defaultValue: 'John Doe' }, { name: 'team', type: 'link', link: { table: 'teams' } }, @@ -24,17 +32,9 @@ const tables = [ } ] as const; -function simpleTeam(team: SchemaInference['teams'] & XataRecord) { - team.getMetadata(); - team.owner?.getMetadata(); -} - function simpleUser(user: SchemaInference['users'] & XataRecord) { user.full_name.startsWith('a'); - user.getMetadata(); - user.team?.getMetadata(); - user.json?.foo; user.json?.[0]; } diff --git a/packages/client/src/schema/query.ts b/packages/client/src/schema/query.ts index deb416041..b29c8e9b7 100644 --- a/packages/client/src/schema/query.ts +++ b/packages/client/src/schema/query.ts @@ -201,8 +201,8 @@ export class Query = XataRecord> extends Identifiable { - /** - * Metadata of this record. - */ - xata: XataRecordMetadata; - - /** - * Get metadata of this record. - * @deprecated Use `xata` property instead. - */ - getMetadata(): XataRecordMetadata; - /** * Get an object representation of this record. */ @@ -142,30 +131,8 @@ export interface XataRecord = XataRecord< export type Link = XataRecord; -export type XataRecordMetadata = { - /** - * Number that is increased every time the record is updated. - */ - version: number; - /** - * Timestamp when the record was created. - */ - createdAt: Date; - /** - * Timestamp when the record was last updated. - */ - updatedAt: Date; -}; - export function isIdentifiable(x: any): x is Identifiable & Record { - return isObject(x) && isString((x as Partial)?.id); -} - -export function isXataRecord(x: any): x is XataRecord & Record { - const record = x as XataRecord & Record; - const metadata = record?.getMetadata(); - - return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === 'number'; + return isObject(x) && isString(x?.xata_id); } type NumericOperator = ExclusiveOr< @@ -176,9 +143,9 @@ type NumericOperator = ExclusiveOr< export type InputXataFile = Partial | Promise>; type EditableDataFields = T extends XataRecord - ? { id: Identifier } | Identifier + ? { xata_id: Identifier } | Identifier : NonNullable extends XataRecord - ? { id: Identifier } | Identifier | null | undefined + ? { xata_id: Identifier } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable extends Date @@ -205,7 +172,9 @@ type JSONDataFile = { [K in keyof XataFile]: XataFile[K] extends Function ? never : XataFile[K]; }; -type JSONDataFields = T extends XataFile +type JSONDataFields = T extends null | undefined | void + ? null | undefined + : T extends XataFile ? JSONDataFile : NonNullable extends XataFile ? JSONDataFile | null | undefined @@ -221,22 +190,17 @@ type JSONDataFields = T extends XataFile type JSONDataBase = Identifiable & { /** - * Metadata about the record. + * Timestamp when the record was created. + */ + xata_createdat: string; + /** + * Timestamp when the record was last updated. + */ + xata_updatedat: string; + /** + * Number that is increased every time the record is updated. */ - xata: { - /** - * Timestamp when the record was created. - */ - createdAt: string; - /** - * Timestamp when the record was last updated. - */ - updatedAt: string; - /** - * Number that is increased every time the record is updated. - */ - version: number; - }; + xata_version: number; }; export type JSONData = JSONDataBase & diff --git a/packages/client/src/schema/repository.ts b/packages/client/src/schema/repository.ts index fb3d6fe59..8fb96fc0a 100644 --- a/packages/client/src/schema/repository.ts +++ b/packages/client/src/schema/repository.ts @@ -22,7 +22,6 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, - RecordsMetadata, SearchPageConfig, TransactionOperation } from '../api/schemas'; @@ -69,7 +68,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -80,7 +79,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract create( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -93,7 +92,7 @@ export abstract class Repository extends Query< */ abstract create>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -106,7 +105,7 @@ export abstract class Repository extends Query< */ abstract create( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -117,7 +116,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -127,7 +126,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records in order. */ abstract create( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -432,7 +431,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -444,7 +443,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrUpdate( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -458,7 +457,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -472,7 +471,7 @@ export abstract class Repository extends Query< */ abstract createOrUpdate( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -484,7 +483,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -495,7 +494,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrUpdate( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -506,7 +505,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace>( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -518,7 +517,7 @@ export abstract class Repository extends Query< * @returns The full persisted record. */ abstract createOrReplace( - object: Omit, 'id'> & Partial, + object: Omit, 'xata_id'> & Partial, options?: { ifVersion?: number } ): Promise>>; @@ -532,7 +531,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; @@ -546,7 +545,7 @@ export abstract class Repository extends Query< */ abstract createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; @@ -558,7 +557,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace>( - objects: Array, 'id'> & Partial>, + objects: Array, 'xata_id'> & Partial>, columns: K[] ): Promise>[]>; @@ -569,7 +568,7 @@ export abstract class Repository extends Query< * @returns Array of the persisted records. */ abstract createOrReplace( - objects: Array, 'id'> & Partial> + objects: Array, 'xata_id'> & Partial> ): Promise>[]>; /** @@ -915,11 +914,14 @@ export class RestRepository } // Create one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: true, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: true, + ifVersion + }); } // Create one record without id @@ -1053,11 +1055,11 @@ export class RestRepository const ids = a.map((item) => extractId(item)); - const finalObjects = await this.getAll({ filter: { id: { $any: compact(ids) } }, columns }); + const finalObjects = await this.getAll({ filter: { xata_id: { $any: compact(ids) } }, columns }); // Maintain order of objects const dictionary = finalObjects.reduce((acc, object) => { - acc[object.id] = object; + acc[object.xata_id] = object; return acc; }, {} as Dictionary); @@ -1206,7 +1208,7 @@ export class RestRepository if (a.length === 0) return []; // TODO: Transaction API fails fast if one of the records is not found - const existing = await this.read(a, ['id']); + const existing = await this.read(a, ['xata_id'] as SelectableColumn[]); const updates = a.filter((_item, index) => existing[index] !== null); await this.#updateRecords(updates as Array> & Identifiable>, { @@ -1229,9 +1231,9 @@ export class RestRepository } // Update one record with id as property - if (isObject(a) && isString(a.id)) { + if (isObject(a) && isString(a.xata_id)) { const columns = isValidSelectableColumns(b) ? b : undefined; - return await this.#updateRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#updateRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } } catch (error: any) { if (error.status === 422) return null; @@ -1318,7 +1320,7 @@ export class RestRepository if (!recordId) return null; // Ensure id is not present in the update payload - const { id: _id, ...record } = await this.#transformObjectToApi(object); + const { xata_id: _id, ...record } = await this.#transformObjectToApi(object); try { const response = await updateRecordWithID({ @@ -1349,9 +1351,9 @@ export class RestRepository objects: Array> & Identifiable>, { ifVersion, upsert }: { ifVersion?: number; upsert: boolean } ) { - const operations = await promiseMap(objects, async ({ id, ...object }) => { + const operations = await promiseMap(objects, async ({ xata_id, ...object }) => { const fields = await this.#transformObjectToApi(object); - return { update: { table: this.#table, id, ifVersion, upsert, fields } }; + return { update: { table: this.#table, id: xata_id, ifVersion, upsert, fields } }; }); const chunkedOperations: TransactionOperation[][] = chunk(operations, BULK_OPERATION_MAX_SIZE); @@ -1392,13 +1394,13 @@ export class RestRepository ): Promise>>; async createOrUpdate>( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrUpdate( id: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrUpdate>( @@ -1410,7 +1412,7 @@ export class RestRepository ): Promise>[]>; async createOrUpdate>( a: Identifier | EditableData | EditableData[], - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1434,7 +1436,7 @@ export class RestRepository const columns = isValidSelectableColumns(b) ? b : (['*'] as K[]); // TODO: Transaction API does not support column projection - const result = await this.read(a, columns); + const result = await this.read(a as any[], columns); return result; } @@ -1447,11 +1449,11 @@ export class RestRepository } // Create or update one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#upsertRecordWithID(a.id, { ...a, id: undefined }, columns, { ifVersion }); + return await this.#upsertRecordWithID(a.xata_id, { ...a, xata_id: undefined }, columns, { ifVersion }); } // Create with undefined id as param @@ -1460,7 +1462,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1470,7 +1472,7 @@ export class RestRepository async #upsertRecordWithID( recordId: Identifier, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: SelectableColumn[] = ['*'], { ifVersion }: { ifVersion?: number } ) { @@ -1504,13 +1506,13 @@ export class RestRepository ): Promise>>; async createOrReplace>( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, columns: K[], options?: { ifVersion?: number } ): Promise>>; async createOrReplace( id: Identifier | undefined, - object: Omit, 'id'>, + object: Omit, 'xata_id'>, options?: { ifVersion?: number } ): Promise>>; async createOrReplace>( @@ -1522,7 +1524,7 @@ export class RestRepository ): Promise>[]>; async createOrReplace>( a: Identifier | EditableData | EditableData[] | undefined, - b?: EditableData | Omit, 'id'> | K[] | { ifVersion?: number }, + b?: EditableData | Omit, 'xata_id'> | K[] | { ifVersion?: number }, c?: K[] | { ifVersion?: number }, d?: { ifVersion?: number } ): Promise< @@ -1556,11 +1558,14 @@ export class RestRepository } // Create or replace one record with id as property - if (isObject(a) && isString(a.id)) { - if (a.id === '') throw new Error("The id can't be empty"); + if (isObject(a) && isString(a.xata_id)) { + if (a.xata_id === '') throw new Error("The id can't be empty"); const columns = isValidSelectableColumns(c) ? c : undefined; - return await this.#insertRecordWithId(a.id, { ...a, id: undefined }, columns, { createOnly: false, ifVersion }); + return await this.#insertRecordWithId(a.xata_id, { ...a, xata_id: undefined }, columns, { + createOnly: false, + ifVersion + }); } // Create with undefined id as param @@ -1569,7 +1574,7 @@ export class RestRepository } // Create with undefined id as property - if (isObject(a) && !isDefined(a.id)) { + if (isObject(a) && !isDefined(a.xata_id)) { return await this.create(a as EditableData, b as K[]); } @@ -1616,7 +1621,7 @@ export class RestRepository const ids = a.map((o) => { if (isString(o)) return o; - if (isString(o.id)) return o.id; + if (isString(o.xata_id)) return o.xata_id; throw new Error('Invalid arguments for delete method'); }); @@ -1636,8 +1641,8 @@ export class RestRepository } // Delete one record with id as property - if (isObject(a) && isString(a.id)) { - return this.#deleteRecord(a.id, b); + if (isObject(a) && isString(a.xata_id)) { + return this.#deleteRecord(a.xata_id, b); } throw new Error('Invalid arguments for delete method'); @@ -1977,13 +1982,13 @@ export class RestRepository for (const [key, value] of Object.entries(object)) { // Ignore internal properties - if (key === 'xata') continue; + if (['xata_version', 'xata_createdat', 'xata_updatedat'].includes(key)) continue; const type = schema.columns.find((column) => column.name === key)?.type; switch (type) { case 'link': { - result[key] = isIdentifiable(value) ? value.id : value; + result[key] = isIdentifiable(value) ? value.xata_id : value; break; } case 'datetime': { @@ -2016,8 +2021,7 @@ export const initObject = ( selectedColumns: SelectableColumn[] | SelectableColumnWithObjectNotation[] ) => { const data: Dictionary = {}; - const { xata, ...rest } = object ?? {}; - Object.assign(data, rest); + Object.assign(data, { ...object }); const { columns } = schemaTables.find(({ name }) => name === table) ?? {}; if (!columns) console.error(`Table ${table} not found in schema`); @@ -2092,39 +2096,27 @@ export const initObject = ( } const record = { ...data }; - const metadata = - xata !== undefined - ? { ...xata, createdAt: new Date(xata.createdAt), updatedAt: new Date(xata.updatedAt) } - : undefined; record.read = function (columns?: any) { - return db[table].read(record['id'] as string, columns); + return db[table].read(record['xata_id'] as string, columns); }; record.update = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].update(record['id'] as string, data, columns, { ifVersion }); + return db[table].update(record['xata_id'] as string, data, columns, { ifVersion }); }; record.replace = function (data: any, b?: any, c?: any) { const columns = isValidSelectableColumns(b) ? b : ['*']; const ifVersion = parseIfVersion(b, c); - return db[table].createOrReplace(record['id'] as string, data, columns, { ifVersion }); + return db[table].createOrReplace(record['xata_id'] as string, data, columns, { ifVersion }); }; record.delete = function () { - return db[table].delete(record['id'] as string); - }; - - if (metadata !== undefined) { - record.xata = Object.freeze(metadata); - } - - record.getMetadata = function () { - return record.xata; + return db[table].delete(record['xata_id'] as string); }; record.toSerializable = function () { @@ -2135,7 +2127,7 @@ export const initObject = ( return JSON.stringify(record); }; - for (const prop of ['read', 'update', 'replace', 'delete', 'getMetadata', 'toSerializable', 'toString']) { + for (const prop of ['read', 'update', 'replace', 'delete', 'toSerializable', 'toString']) { Object.defineProperty(record, prop, { enumerable: false }); } @@ -2146,7 +2138,7 @@ export const initObject = ( function extractId(value: any): Identifier | undefined { if (isString(value)) return value; - if (isObject(value) && isString(value.id)) return value.id; + if (isObject(value) && isString(value.xata_id)) return value.xata_id; return undefined; } diff --git a/packages/client/src/schema/selection.spec.ts b/packages/client/src/schema/selection.spec.ts index f3db5b729..1124362c0 100644 --- a/packages/client/src/schema/selection.spec.ts +++ b/packages/client/src/schema/selection.spec.ts @@ -6,6 +6,10 @@ import { SelectableColumn, SelectedPick, ValueAtColumn } from './selection'; import { XataFile } from './files'; interface Team { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; labels?: string[] | null; owner?: UserRecord | null; @@ -14,6 +18,10 @@ interface Team { type TeamRecord = Team & XataRecord; interface User { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; email?: string | null; full_name: string; team?: TeamRecord | null; @@ -27,7 +35,7 @@ type UserRecord = User & XataRecord; // SelectableColumn // // --------------------------------------------------------------------------- // -const validTeamColumns: SelectableColumn[] = ['*', 'id', 'name', 'owner.*', 'owner.date']; +const validTeamColumns: SelectableColumn[] = ['*', 'xata_id', 'name', 'owner.*', 'owner.date']; // @ts-expect-error const invalidFullNameTeamColumn: SelectableColumn = 'full_name'; @@ -41,12 +49,12 @@ const invalidReadTeamColumn: SelectableColumn = 'owner.read.*'; const invalidInternalDateColumns: SelectableColumn = 'owner.date.getFullYear'; // Internal columns -const internalVersionColumns: SelectableColumn = 'xata.version'; -const internalCreatedAtColumns: SelectableColumn = 'xata.createdAt'; -const internalUpdatedAtColumns: SelectableColumn = 'xata.updatedAt'; -const linkVersionColumns: SelectableColumn = 'owner.xata.version'; -const linkCreatedAtColumns: SelectableColumn = 'owner.xata.createdAt'; -const linkUpdatedAtColumns: SelectableColumn = 'owner.xata.updatedAt'; +const internalVersionColumns: SelectableColumn = 'xata_version'; +const internalCreatedAtColumns: SelectableColumn = 'xata_createdat'; +const internalUpdatedAtColumns: SelectableColumn = 'xata_updatedat'; +const linkVersionColumns: SelectableColumn = 'owner.xata_version'; +const linkCreatedAtColumns: SelectableColumn = 'owner.xata_createdat'; +const linkUpdatedAtColumns: SelectableColumn = 'owner.xata_updatedat'; // ValueAtColumn // // --------------------------------------------------------------------------- // @@ -59,33 +67,22 @@ const invalidLabelsValue: ValueAtColumn = [1]; // ---------------------------------------------------------------------------- // function test1(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.xata.version; - user.xata.createdAt; - user.xata.updatedAt; + user.xata_version; + user.xata_createdat; + user.xata_updatedat; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - // TODO(link.xata) @ts-expect-error - user.team?.xata.version; - // TODO(link.xata) @ts-expect-error - user.team?.xata.createdAt; - // TODO(link.xata) @ts-expect-error - user.team?.xata.updatedAt; - - user.team?.xata?.version; - user.team?.xata?.createdAt; - user.team?.xata?.updatedAt; - - user.partner.id; + user.partner.xata_id; user.partner.read(); // @ts-expect-error user.partner.full_name; @@ -96,14 +93,14 @@ function test1(user: SelectedPick) { } function test2(user: SelectedPick) { - user.id; + user.xata_id; user.read(); user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); user.team?.name; user.team?.owner; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); // @ts-expect-error user.team?.owner?.full_name; @@ -125,29 +122,29 @@ function test2(user: SelectedPick) { } function test3(user: SelectedPick) { - user.id; + user.xata_id; user.read(); // @ts-expect-error user.full_name; - user.team?.id; + user.team?.xata_id; user.team?.read(); // @ts-expect-error user.team?.name; - user.team?.owner?.id; + user.team?.owner?.xata_id; user.team?.owner?.read(); user.team?.owner?.full_name; } function test4(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); @@ -159,14 +156,14 @@ function test4(user: SelectedPick) { function test5(user: SelectedPick) { user.partner; - user.partner.id; + user.partner.xata_id; user.partner.read(); user.partner.full_name; // @ts-expect-error user.partner.full_name = null; // @ts-expect-error - user.team.id; - user.team?.id; + user.team.xata_id; + user.team?.xata_id; // @ts-expect-error user.team.read(); user.team?.read(); diff --git a/packages/client/src/schema/selection.ts b/packages/client/src/schema/selection.ts index f0d0afc6d..7e3026cbd 100644 --- a/packages/client/src/schema/selection.ts +++ b/packages/client/src/schema/selection.ts @@ -7,10 +7,6 @@ import { Link, XataRecord } from './record'; export type SelectableColumn = // Alias for any property | '*' - // Alias for id (not in schema) - | 'id' - // Internal properties - | `xata.${'version' | 'createdAt' | 'updatedAt'}` // Properties of the current level | DataProps // Nested properties of the lower levels @@ -99,14 +95,6 @@ export type ValueAtColumn = Recur ? never : Key extends '*' ? Values // Alias for any property - : Key extends 'id' - ? string // Alias for id (not in schema) - : Key extends 'xata.version' - ? number - : Key extends 'xata.createdAt' - ? Date - : Key extends 'xata.updatedAt' - ? Date : Key extends keyof Object ? Object[Key] // Properties of the current level : Key extends `${infer K}.${infer V}` @@ -163,7 +151,7 @@ type NestedColumns = RecursivePath['length'] ext >; // Private: Utility type to get object properties without XataRecord ones -type DataProps = Exclude, StringKeys>; +type DataProps = Exclude, StringKeys>>; // Private: Utility type to get the value of a column at a given path (nested object value) // For "foo.bar.baz" we return { foo: { bar: { baz: type } } } @@ -193,7 +181,7 @@ type NestedValueAtColumn> = ? // If the property is a link, we forward the type of the internal XataRecord // Since it can be nullable, we use ForwardNullable to avoid loosing the internal type // Links that are not expanded ["link"] instead of ["link.*"] don't have the xata property - ForwardNullable, ['*']>, 'xata' | 'getMetadata'>> + ForwardNullable, ['*']>> : O[K]; } : Key extends '*' diff --git a/packages/client/src/schema/sorting.spec.ts b/packages/client/src/schema/sorting.spec.ts index 14db7fbab..2363c43b0 100644 --- a/packages/client/src/schema/sorting.spec.ts +++ b/packages/client/src/schema/sorting.spec.ts @@ -4,6 +4,10 @@ import { XataRecord } from './record'; import { ApiSortFilter } from './sorting'; type Record = XataRecord & { + xata_id: string; + xata_version: number; + xata_createdat: Date; + xata_updatedat: Date; name: string; string: string; number: number; @@ -31,10 +35,10 @@ const sortWithRandomWildcard: ApiSortFilter = { '*': 'random' }; const sortWithRandomWildcardOnColumn: ApiSortFilter = { name: 'random' }; // Sort by updatedAt is allowed -const sortWithUpdatedAt: ApiSortFilter = { 'xata.updatedAt': 'asc' }; +const sortWithUpdatedAt: ApiSortFilter = { xata_updatedat: 'asc' }; // Sort by createdAt is allowed -const sortWithCreatedAt: ApiSortFilter = { 'xata.createdAt': 'asc' }; +const sortWithCreatedAt: ApiSortFilter = { xata_createdat: 'asc' }; // Sort by unknown metadata is not allowed //@ts-expect-error diff --git a/packages/client/src/schema/sorting.ts b/packages/client/src/schema/sorting.ts index e53f8579a..6064f032a 100644 --- a/packages/client/src/schema/sorting.ts +++ b/packages/client/src/schema/sorting.ts @@ -1,6 +1,6 @@ import { isObject, isString } from '../util/lang'; import { SingleOrArray, Values } from '../util/types'; -import { XataRecord, XataRecordMetadata } from './record'; +import { XataRecord } from './record'; import { ColumnsByValue } from './selection'; export type SortDirection = 'asc' | 'desc'; @@ -8,7 +8,7 @@ export type SortDirection = 'asc' | 'desc'; type RandomFilter = { '*': 'random' }; type RandomFilterExtended = { column: '*'; direction: 'random' }; -export type SortColumns = ColumnsByValue | `xata.${keyof XataRecordMetadata}`; +export type SortColumns = ColumnsByValue; export type SortFilterExtended> = | RandomFilterExtended diff --git a/packages/client/src/search/boosters.spec.ts b/packages/client/src/search/boosters.spec.ts index ab7299ee0..f02b53018 100644 --- a/packages/client/src/search/boosters.spec.ts +++ b/packages/client/src/search/boosters.spec.ts @@ -55,7 +55,7 @@ const invalidBoosters1: Boosters[] = [ { numericBooster: { column: 'name', factor: 50, modifier: 'invalid' } }, { // @ts-expect-error - dateBooster: { column: 'createdAt', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, + dateBooster: { column: 'invalid', origin: '2020-01-21T00:00:00Z', scale: '1d', decay: 0.2 }, ifMatchesFilter: { noSuchColumn: 'test' } } ]; diff --git a/packages/client/src/search/index.ts b/packages/client/src/search/index.ts index 82371e1ce..2345fe993 100644 --- a/packages/client/src/search/index.ts +++ b/packages/client/src/search/index.ts @@ -3,7 +3,7 @@ import { FuzzinessExpression, HighlightExpression, PrefixExpression, SearchPageC import { XataPlugin, XataPluginOptions } from '../plugins'; import { SchemaPluginResult } from '../schema'; import { Filter } from '../schema/filters'; -import { BaseData, XataRecord, XataRecordMetadata } from '../schema/record'; +import { BaseData, XataRecord } from '../schema/record'; import { initObject } from '../schema/repository'; import { SelectedPick } from '../schema/selection'; import { GetArrayInnerType, StringKeys, Values } from '../util/types'; @@ -77,7 +77,8 @@ export class SearchPlugin> extends Xa return { totalCount, records: records.map((record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; + // TODO: Search endpoint doesn't support column selection return { table, record: initObject(this.db, pluginOptions.tables, table, record, ['*']) } as any; }) @@ -90,7 +91,7 @@ export class SearchPlugin> extends Xa const { records: rawRecords, totalCount } = await this.#search(query, options, pluginOptions); const records = rawRecords.reduce((acc, record) => { - const { table = 'orphan' } = record.xata; + const table = record.xata_table; const items = acc[table] ?? []; // TODO: Search endpoint doesn't support column selection @@ -121,20 +122,17 @@ export class SearchPlugin> extends Xa } } -export type SearchXataRecord = Omit & { - xata: XataRecordMetadata & SearchExtraProperties; - getMetadata: () => XataRecordMetadata & SearchExtraProperties; -}; +export type SearchXataRecord = Record & SearchExtraProperties; type SearchExtraProperties = { /* * The record's table name. APIs that return records from multiple tables will set this field accordingly. */ - table: string; + xata_table: string; /* * Highlights of the record. This is used by the search APIs to indicate which fields and parts of the fields have matched the search. */ - highlight?: { + xata_highlight?: { [key: string]: | string[] | { @@ -144,7 +142,7 @@ type SearchExtraProperties = { /* * The record's relevancy score. This is returned by the search APIs. */ - score?: number; + xata_score?: number; }; type ReturnTable = Table extends Tables ? Table : never; diff --git a/packages/codegen/example/schema.json b/packages/codegen/example/schema.json index 47e78643b..f09b9b235 100644 --- a/packages/codegen/example/schema.json +++ b/packages/codegen/example/schema.json @@ -3,6 +3,26 @@ { "name": "teams", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" @@ -61,6 +81,26 @@ { "name": "users", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "email", "type": "email", @@ -151,6 +191,26 @@ { "name": "pets", "columns": [ + { + "name": "xata_id", + "type": "string", + "notNull": true + }, + { + "name": "xata_version", + "type": "int", + "notNull": true + }, + { + "name": "xata_createdat", + "type": "datetime", + "notNull": true + }, + { + "name": "xata_updatedat", + "type": "datetime", + "notNull": true + }, { "name": "name", "type": "string" diff --git a/packages/codegen/example/types.d.ts b/packages/codegen/example/types.d.ts index e994082df..600b19945 100644 --- a/packages/codegen/example/types.d.ts +++ b/packages/codegen/example/types.d.ts @@ -3,6 +3,26 @@ declare const tables: readonly [ { readonly name: 'teams'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; @@ -61,6 +81,26 @@ declare const tables: readonly [ { readonly name: 'users'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'email'; readonly type: 'email'; @@ -73,6 +113,9 @@ declare const tables: readonly [ { readonly name: 'photo'; readonly type: 'file'; + readonly file: { + readonly defaultPublicAccess: true; + }; }, { readonly name: 'attachments'; @@ -148,6 +191,26 @@ declare const tables: readonly [ { readonly name: 'pets'; readonly columns: readonly [ + { + readonly name: 'xata_id'; + readonly type: 'string'; + readonly notNull: true; + }, + { + readonly name: 'xata_version'; + readonly type: 'int'; + readonly notNull: true; + }, + { + readonly name: 'xata_createdat'; + readonly type: 'datetime'; + readonly notNull: true; + }, + { + readonly name: 'xata_updatedat'; + readonly type: 'datetime'; + readonly notNull: true; + }, { readonly name: 'name'; readonly type: 'string'; diff --git a/packages/codegen/example/xata.cjs b/packages/codegen/example/xata.cjs index fe8c8c9da..e4556d88d 100644 --- a/packages/codegen/example/xata.cjs +++ b/packages/codegen/example/xata.cjs @@ -1,69 +1,81 @@ -'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.getXataClient = exports.XataClient = void 0; -// Generated by Xata Codegen 0.27.0. Please do not edit. -const client_1 = require('../../client/src'); +// Generated by Xata Codegen 0.29.1. Please do not edit. +const client_1 = require("../../client/src"); /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ const tables = [ { - name: 'teams', + name: "teams", columns: [ - { name: 'name', type: 'string' }, - { name: 'description', type: 'text' }, - { name: 'labels', type: 'multiple' }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'founded_date', type: 'datetime' }, - { name: 'email', type: 'email' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, - { name: 'config', type: 'json' }, - { name: 'owner', type: 'link', link: { table: 'users' } } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "description", type: "text" }, + { name: "labels", type: "multiple" }, + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "founded_date", type: "datetime" }, + { name: "email", type: "email" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, + { name: "config", type: "json" }, + { name: "owner", type: "link", link: { table: "users" } }, ], - revLinks: [{ table: 'users', column: 'team' }] + revLinks: [{ table: "users", column: "team" }], }, { - name: 'users', + name: "users", columns: [ - { name: 'email', type: 'email', unique: true }, - { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, - { name: 'attachments', type: 'file[]' }, - { name: 'plan', type: 'string' }, - { name: 'dark', type: 'bool' }, + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "email", type: "email", unique: true }, + { name: "name", type: "string" }, + { name: "photo", type: "file", file: { defaultPublicAccess: true } }, + { name: "attachments", type: "file[]" }, + { name: "plan", type: "string" }, + { name: "dark", type: "bool" }, { - name: 'full_name', - type: 'string', + name: "full_name", + type: "string", notNull: true, - defaultValue: 'John Doe' + defaultValue: "John Doe", }, - { name: 'index', type: 'int' }, - { name: 'rating', type: 'float' }, - { name: 'birthDate', type: 'datetime' }, - { name: 'street', type: 'string' }, - { name: 'zipcode', type: 'int' }, - { name: 'team', type: 'link', link: { table: 'teams' } }, - { name: 'pet', type: 'link', link: { table: 'pets' } }, - { name: 'account_value', type: 'int' }, - { name: 'vector', type: 'vector', vector: { dimension: 4 } } + { name: "index", type: "int" }, + { name: "rating", type: "float" }, + { name: "birthDate", type: "datetime" }, + { name: "street", type: "string" }, + { name: "zipcode", type: "int" }, + { name: "team", type: "link", link: { table: "teams" } }, + { name: "pet", type: "link", link: { table: "pets" } }, + { name: "account_value", type: "int" }, + { name: "vector", type: "vector", vector: { dimension: 4 } }, ], - revLinks: [{ table: 'teams', column: 'owner' }] + revLinks: [{ table: "teams", column: "owner" }], }, { - name: 'pets', + name: "pets", columns: [ - { name: 'name', type: 'string' }, - { name: 'type', type: 'string' }, - { name: 'num_legs', type: 'int' } + { name: "xata_id", type: "string", notNull: true }, + { name: "xata_version", type: "int", notNull: true }, + { name: "xata_createdat", type: "datetime", notNull: true }, + { name: "xata_updatedat", type: "datetime", notNull: true }, + { name: "name", type: "string" }, + { name: "type", type: "string" }, + { name: "num_legs", type: "int" }, ], - revLinks: [{ table: 'users', column: 'pet' }] - } + revLinks: [{ table: "users", column: "pet" }], + }, ]; /** @type { import('../../client/src').ClientConstructor<{}> } */ const DatabaseClient = (0, client_1.buildClient)(); const defaultOptions = { - databaseURL: 'https://test-r5vcv5.eu-west-1.xata.sh/db/test' + databaseURL: "https://test-r5vcv5.eu-west-1.xata.sh/db/test", }; /** @typedef { import('./types').DatabaseSchema } DatabaseSchema */ /** @extends DatabaseClient */ diff --git a/packages/codegen/example/xata.js b/packages/codegen/example/xata.js index c305d4780..df321e500 100644 --- a/packages/codegen/example/xata.js +++ b/packages/codegen/example/xata.js @@ -1,4 +1,4 @@ -// Generated by Xata Codegen 0.27.0. Please do not edit. +// Generated by Xata Codegen 0.29.1. Please do not edit. import { buildClient } from '../../client/src'; /** @typedef { import('./types').SchemaTables } SchemaTables */ /** @type { SchemaTables } */ @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/packages/codegen/example/xata.ts b/packages/codegen/example/xata.ts index 963d89588..68e6af4e0 100644 --- a/packages/codegen/example/xata.ts +++ b/packages/codegen/example/xata.ts @@ -6,6 +6,10 @@ const tables = [ { name: 'teams', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'description', type: 'text' }, { name: 'labels', type: 'multiple' }, @@ -23,9 +27,13 @@ const tables = [ { name: 'users', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'email', type: 'email', unique: true }, { name: 'name', type: 'string' }, - { name: 'photo', type: 'file' }, + { name: 'photo', type: 'file', file: { defaultPublicAccess: true } }, { name: 'attachments', type: 'file[]' }, { name: 'plan', type: 'string' }, { name: 'dark', type: 'bool' }, @@ -50,6 +58,10 @@ const tables = [ { name: 'pets', columns: [ + { name: 'xata_id', type: 'string', notNull: true }, + { name: 'xata_version', type: 'int', notNull: true }, + { name: 'xata_createdat', type: 'datetime', notNull: true }, + { name: 'xata_updatedat', type: 'datetime', notNull: true }, { name: 'name', type: 'string' }, { name: 'type', type: 'string' }, { name: 'num_legs', type: 'int' } diff --git a/test/integration/create.test.ts b/test/integration/create.test.ts index 5296cfd62..db9c75fd8 100644 --- a/test/integration/create.test.ts +++ b/test/integration/create.test.ts @@ -30,33 +30,25 @@ describe('record creation', () => { test('create single user without id', async () => { const user = await xata.db.users.create({ name: 'User ships', birthDate: new Date() }); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.birthDate).toBeInstanceOf(Date); - const metadata = user.getMetadata(); - expect(metadata.createdAt).toBeInstanceOf(Date); - expect(metadata.updatedAt).toBeInstanceOf(Date); - expect(metadata.version).toBe(0); - - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.xata.createdAt).toBeDefined(); - expect(json.xata.updatedAt).toBeDefined(); - expect(json.xata.version).toBe(0); + expect(json.xata_createdat).toBeDefined(); + expect(json.xata_updatedat).toBeDefined(); + expect(json.xata_version).toBe(0); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(typeof json.birthDate).toBe('string'); }); @@ -64,53 +56,42 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const user = await xata.db.users.create({ name: 'User ships', team }, ['*', 'team.*']); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.name).toBe('User ships'); expect(user.read).toBeDefined(); - expect(user.getMetadata).toBeDefined(); expect(user.team).toBeDefined(); - expect(user.team?.id).toBe(team.id); + expect(user.team?.xata_id).toBe(team.xata_id); expect(user.team?.name).toBe('Team ships'); expect(user.team?.read).toBeDefined(); - expect(user.team?.getMetadata).toBeDefined(); - - const userMetadata = user.getMetadata(); - expect(userMetadata.createdAt).toBeInstanceOf(Date); - expect(userMetadata.updatedAt).toBeInstanceOf(Date); - expect(userMetadata.version).toBe(0); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.updatedAt).toBeInstanceOf(Date); - expect(user.xata.version).toBe(0); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_updatedat).toBeInstanceOf(Date); + expect(user.xata_version).toBe(0); const json = user.toSerializable(); - expect(json.id).toBeDefined(); + expect(json.xata_id).toBeDefined(); expect(json.name).toBe('User ships'); // @ts-expect-error expect(json.read).not.toBeDefined(); - // @ts-expect-error - expect(json.getMetadata).not.toBeDefined(); expect(json.team).toBeDefined(); - expect(json.team?.id).toBe(team.id); + expect(json.team?.xata_id).toBe(team.xata_id); expect(json.team?.name).toBe('Team ships'); // @ts-expect-error expect(json.team.read).not.toBeDefined(); - // @ts-expect-error - expect(json.team.getMetadata).not.toBeDefined(); }); test('create multiple teams without ids', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }], ['*', 'owner.*']); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); - expect(teams[0].id).not.toBe(teams[1].id); + expect(teams[0].xata_id).not.toBe(teams[1].xata_id); expect(teams[0].labels).toBeNull(); expect(teams[1].labels).toBeNull(); @@ -126,21 +107,21 @@ describe('record creation', () => { email: 'john4@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-4'); + expect(user.xata_id).toBe('a-unique-record-john-4'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 4'); expect(user.full_name.startsWith('John')).toBe(true); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); - expect(user.xata.createdAt).toBeInstanceOf(Date); - expect(apiUser.xata.createdAt).toBeInstanceOf(Date); - expect(user.xata.createdAt.getTime()).toBe(apiUser.xata.createdAt.getTime()); + expect(user.xata_createdat).toBeInstanceOf(Date); + expect(apiUser.xata_createdat).toBeInstanceOf(Date); + expect(user.xata_createdat.getTime()).toBe(apiUser.xata_createdat.getTime()); expect( xata.db.users.create('a-unique-record-john-4', { @@ -152,19 +133,19 @@ describe('record creation', () => { test('create user with inlined id', async () => { const user = await xata.db.users.create({ - id: 'a-unique-record-john-5', + xata_id: 'a-unique-record-john-5', full_name: 'John Doe 5', email: 'john5@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); - expect(user.id).toBe('a-unique-record-john-5'); + expect(user.xata_id).toBe('a-unique-record-john-5'); expect(user.read).toBeDefined(); expect(user.full_name).toBe('John Doe 5'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -181,7 +162,7 @@ describe('record creation', () => { test('create user with empty inline id is not allowed', async () => { expect( xata.db.users.create({ - id: '', + xata_id: '', full_name: 'John Doe 3', email: 'john3@doe.com' }) @@ -204,53 +185,56 @@ describe('record creation', () => { }); test('create multiple some with id and others without id', async () => { - const teams = await xata.db.teams.create([{ id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); + const teams = await xata.db.teams.create([{ xata_id: 'team_cars', name: 'Team cars' }, { name: 'Team planes' }]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBe('team_cars'); + expect(teams[0].xata_id).toBe('team_cars'); expect(teams[0].name).toBe('Team cars'); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toBe('Team planes'); expect(teams[1].read).toBeDefined(); }); test('create multiple with returning columns', async () => { - const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], ['id']); + const teams = await xata.db.teams.create( + [{ name: 'Team cars' }, { name: 'Team planes', labels: ['foo'] }], + ['xata_id'] + ); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); // @ts-expect-error expect(teams[0].name).not.toBeDefined(); expect(teams[0].read).toBeDefined(); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); // @ts-expect-error expect(teams[1].name).not.toBeDefined(); expect(teams[1].read).toBeDefined(); const team1 = await teams[0].read(); - expect(team1?.id).toBe(teams[0].id); + expect(team1?.xata_id).toBe(teams[0].xata_id); expect(team1?.name).toBe('Team cars'); const team2 = await teams[1].read(['labels']); - expect(team2?.id).toBe(teams[1].id); + expect(team2?.xata_id).toBe(teams[1].xata_id); // @ts-expect-error expect(team2?.name).not.toBeDefined(); expect(team2?.labels).toEqual(['foo']); }); test('create single with returning columns', async () => { - const team = await xata.db.teams.create({ name: 'Team cars' }, ['id', 'owner']); + const team = await xata.db.teams.create({ name: 'Team cars' }, ['xata_id', 'owner']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).not.toBeDefined(); expect(team.owner).toBeNull(); expect(team.read).toBeDefined(); const team1 = await team.read(); - expect(team1?.id).toBe(team.id); + expect(team1?.xata_id).toBe(team.xata_id); expect(team1?.name).toBe('Team cars'); }); @@ -258,7 +242,7 @@ describe('record creation', () => { const data = { full_name: 'John Doe 3', email: 'unique@example.com' }; const user = await xata.db.users.create(data); - expect(user.id).toBeDefined(); + expect(user.xata_id).toBeDefined(); expect(user.read).toBeDefined(); expect(user.full_name).toBe(data.full_name); expect(user.email).toBe(data.email); @@ -275,7 +259,7 @@ describe('record creation', () => { test('create and fail if already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 3', email: 'doe3@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 3'); @@ -285,7 +269,7 @@ describe('record creation', () => { test('create multiple fails if one of them already exists', async () => { const user1 = await xata.db.users.create({ full_name: 'John Doe 4', email: 'doe4@john.net' }); - expect(user1.id).toBeDefined(); + expect(user1.xata_id).toBeDefined(); expect(user1.read).toBeDefined(); expect(user1.full_name).toBe('John Doe 4'); @@ -318,7 +302,7 @@ describe('record creation', () => { ]); expect(teams).toHaveLength(2); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].name).toMatchInlineSnapshot(` "Team 🚗" @@ -338,7 +322,7 @@ describe('record creation', () => { 🚕" `); - expect(teams[1].id).toBeDefined(); + expect(teams[1].xata_id).toBeDefined(); expect(teams[1].name).toMatchInlineSnapshot('"Team 🚀"'); expect(teams[1].labels).toMatchInlineSnapshot(` [ @@ -373,11 +357,11 @@ describe('record creation', () => { const team = await xata.db.teams.create({ name: 'Team cars', owner: user }, ['owner.name']); expect(team).toBeDefined(); - expect(team.id).toBeDefined(); + expect(team.xata_id).toBeDefined(); // @ts-expect-error expect(team.name).toBeUndefined(); expect(team.owner).toBeDefined(); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); expect(team.owner?.name).toBe('John Doe 3'); }); }); diff --git a/test/integration/createOrReplace.test.ts b/test/integration/createOrReplace.test.ts index 8d320ce15..541bc37ed 100644 --- a/test/integration/createOrReplace.test.ts +++ b/test/integration/createOrReplace.test.ts @@ -34,13 +34,13 @@ describe('record create or replace', () => { expect(team.email).toBe('ships@ilovethem.com'); expect(team.name).toBe('Team ships'); - const replacedTeam = await xata.db.teams.createOrReplace(team.id, { name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace(team.xata_id, { name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -48,14 +48,14 @@ describe('record create or replace', () => { }); test('create or replace with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrReplace({ id, name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrReplace({ xata_id, name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or replace fails with empty id', async () => { - await expect(xata.db.teams.createOrReplace({ id: '', name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrReplace({ xata_id: '', name: 'Team ships' })).rejects.toThrowError(); }); test('create or replace team with inline id', async () => { @@ -64,13 +64,13 @@ describe('record create or replace', () => { expect(team.read).toBeDefined(); expect(team.email).toBe('ships2@example.com'); - const replacedTeam = await xata.db.teams.createOrReplace({ id: team.id, name: 'Team boats' }); + const replacedTeam = await xata.db.teams.createOrReplace({ xata_id: team.xata_id, name: 'Team boats' }); - expect(replacedTeam.id).toBe(team.id); + expect(replacedTeam.xata_id).toBe(team.xata_id); expect(replacedTeam.read).toBeDefined(); expect(replacedTeam.email).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(replacedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -84,14 +84,14 @@ describe('record create or replace', () => { expect(team.email).toBe('ships3@example.com'); const replacedTeam = await xata.db.teams.createOrReplace([ - { id: team.id, name: 'Team boats' }, - { ...team, id: 'planes' } + { xata_id: team.xata_id, name: 'Team boats' }, + { ...team, xata_id: 'planes' } ]); - expect(replacedTeam[0].id).toBe(team.id); + expect(replacedTeam[0].xata_id).toBe(team.xata_id); expect(replacedTeam[0].read).toBeDefined(); expect(replacedTeam[0].email).toBeNull(); - expect(replacedTeam[1].id).toBe('planes'); + expect(replacedTeam[1].xata_id).toBe('planes'); expect(replacedTeam[1].read).toBeDefined(); expect(replacedTeam[1].email).toBe(team.email); }); diff --git a/test/integration/createOrUpdate.test.ts b/test/integration/createOrUpdate.test.ts index dc82eba7f..74718d3c6 100644 --- a/test/integration/createOrUpdate.test.ts +++ b/test/integration/createOrUpdate.test.ts @@ -30,39 +30,39 @@ describe('record create or update', () => { test('create or update single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); }); test('create or update with optional id', async () => { - const id: string | undefined = undefined; + const xata_id: string | undefined = undefined; - const team = await xata.db.teams.createOrUpdate(id, { name: 'Team ships' }); - expect(team.id).toBeDefined(); + const team = await xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' }); + expect(team.xata_id).toBeDefined(); }); test('create or update fails with empty id', async () => { - const id: string | undefined = ''; + const xata_id: string | undefined = ''; - await expect(xata.db.teams.createOrUpdate(id, { name: 'Team ships' })).rejects.toThrowError(); + await expect(xata.db.teams.createOrUpdate(xata_id, { name: 'Team ships' })).rejects.toThrowError(); }); test('create or update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.createOrUpdate({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.createOrUpdate({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam.id).toBe(team.id); + expect(updatedTeam.xata_id).toBe(team.xata_id); expect(updatedTeam.read).toBeDefined(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -71,17 +71,19 @@ describe('record create or update', () => { test('create or update multiple teams', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const updatedTeams = await xata.db.teams.createOrUpdate(teams.map((team) => ({ id: team.id, name: 'Team boats' }))); + const updatedTeams = await xata.db.teams.createOrUpdate( + teams.map((team) => ({ xata_id: team.xata_id, name: 'Team boats' })) + ); expect(updatedTeams).toHaveLength(2); expect(updatedTeams[0].read).toBeDefined(); expect(updatedTeams[1].read).toBeDefined(); - expect(updatedTeams[0].id).toBe(teams[0].id); - expect(updatedTeams[1].id).toBe(teams[1].id); + expect(updatedTeams[0].xata_id).toBe(teams[0].xata_id); + expect(updatedTeams[1].xata_id).toBe(teams[1].xata_id); expect(updatedTeams[0].name).toBe('Team boats'); expect(updatedTeams[1].name).toBe('Team boats'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); @@ -95,10 +97,10 @@ describe('record create or update', () => { }); test('create or update many without getting rate limited', async () => { - const newUsers = Array.from({ length: 250 }).map((_, i) => ({ id: `user-${i}`, full_name: `user-${i}` })); - const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['id']))); + const newUsers = Array.from({ length: 250 }).map((_, i) => ({ xata_id: `user-${i}`, full_name: `user-${i}` })); + const result = await Promise.all(newUsers.map((user) => xata.db.users.createOrUpdate(user, ['xata_id']))); expect(result).toHaveLength(250); - expect(result.every((item) => item.id)).toBeTruthy(); + expect(result.every((item) => item.xata_id)).toBeTruthy(); }, 100000); }); diff --git a/test/integration/delete.test.ts b/test/integration/delete.test.ts index 0c6918e43..174c14852 100644 --- a/test/integration/delete.test.ts +++ b/test/integration/delete.test.ts @@ -30,13 +30,13 @@ describe('record deletion', () => { test('delete single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); const copy = await team.read(); expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -44,17 +44,17 @@ describe('record deletion', () => { test('delete multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete(teams.map((team) => team.id)); + const result = await xata.db.teams.delete(teams.map((team) => team.xata_id)); expect(result.length).toBe(2); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -68,7 +68,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -78,7 +78,7 @@ describe('record deletion', () => { await xata.db.teams.delete(teams); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -86,18 +86,18 @@ describe('record deletion', () => { test('delete multiple teams with invalid', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const result = await xata.db.teams.delete([...teams, { id: 'invalid' }]); + const result = await xata.db.teams.delete([...teams, { xata_id: 'invalid' }]); expect(result.length).toBe(3); - expect(result[0]?.id).toBe(teams[0].id); - expect(result[1]?.id).toBe(teams[1].id); + expect(result[0]?.xata_id).toBe(teams[0].xata_id); + expect(result[1]?.xata_id).toBe(teams[1].xata_id); expect(result[0]?.read).toBeDefined(); expect(result[1]?.read).toBeDefined(); expect(result[0]?.name).toBe('Team cars'); expect(result[1]?.name).toBe('Team planes'); expect(result[2]).toBeNull(); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(0); }); @@ -110,7 +110,7 @@ describe('record deletion', () => { expect(copy).toBeNull(); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(apiTeam).toBeNull(); }); @@ -119,14 +119,14 @@ describe('record deletion', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.delete('invalid'); - const team2 = await xata.db.teams.delete({ id: 'invalid', name: 'Team boats' }); - const team3 = await xata.db.teams.delete([{ id: 'invalid', name: 'Team boats' }, valid]); + const team2 = await xata.db.teams.delete({ xata_id: 'invalid', name: 'Team boats' }); + const team3 = await xata.db.teams.delete([{ xata_id: 'invalid', name: 'Team boats' }, valid]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team ships'); }); @@ -134,7 +134,7 @@ describe('record deletion', () => { const team = await xata.db.teams.create({ name: 'Team ships' }); const result = await xata.db.teams.delete(team); - expect(result?.id).toBe(team.id); + expect(result?.xata_id).toBe(team.xata_id); const result2 = await xata.db.teams.delete(team); expect(result2).toBeNull(); diff --git a/test/integration/files.test.ts b/test/integration/files.test.ts index 90504835f..aecde9c22 100644 --- a/test/integration/files.test.ts +++ b/test/integration/files.test.ts @@ -68,7 +68,7 @@ describe('file support', () => { test('create file with binary endpoint JSON and mediaType override', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json, { + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json, { mediaType: 'text/plain' }); @@ -89,7 +89,7 @@ describe('file support', () => { test('create file with binary endpoint JSON', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, json); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, json); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('application/json'); @@ -108,7 +108,7 @@ describe('file support', () => { test('create file with binary endpoint CSV', async () => { const record = await xata.db.users.create({ name: 'another' }); - const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.id }, csv); + const file = await xata.files.upload({ table: 'users', column: 'attachments', record: record.xata_id }, csv); expect(file.id).toBeDefined(); expect(file.mediaType).toBe('text/csv'); @@ -128,7 +128,7 @@ describe('file support', () => { test('create XataFile on binary endpoint', async () => { const record = await xata.db.users.create({ name: 'another' }); const file = await xata.files.upload( - { table: 'users', column: 'attachments', record: record.id }, + { table: 'users', column: 'attachments', record: record.xata_id }, XataFile.fromBlob(csv) ); @@ -166,7 +166,7 @@ describe('file support', () => { expect(upload1.status).toBe(201); expect(upload2.status).toBe(201); - const user = await xata.db.users.read(result.id, [ + const user = await xata.db.users.read(result.xata_id, [ '*', 'photo.*', 'photo.base64Content', diff --git a/test/integration/json.test.ts b/test/integration/json.test.ts index 6f76e3da0..9bef22a5a 100644 --- a/test/integration/json.test.ts +++ b/test/integration/json.test.ts @@ -29,7 +29,7 @@ afterEach(async (ctx) => { describe('JSON support', () => { test('read returns json', async () => { const record = await xata.db.teams.create({ name: 'test', config: { hello: 'world' } }); - const read = await xata.db.teams.read(record.id, ['config']); + const read = await xata.db.teams.read(record.xata_id, ['config']); expect(read?.config.hello).toBe('world'); }); @@ -47,7 +47,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON as string', async () => { @@ -55,7 +55,7 @@ describe('JSON support', () => { expect(record.config.hello).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as object', async () => { @@ -63,7 +63,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('create file with JSON array as string', async () => { @@ -71,7 +71,7 @@ describe('JSON support', () => { expect(record.config[0].hello[0]).toBe('world'); - await xata.db.teams.delete(record.id); + await xata.db.teams.delete(record.xata_id); }); test('filters work with JSON fields', async () => { @@ -118,22 +118,22 @@ describe('JSON support', () => { .getAll(); expect(filterEquals.length).toBe(1); - expect(filterEquals[0].id).toBe(r2.id); + expect(filterEquals[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsString = await xata.db.teams.filter('config->bg->path', 'a/b/c').getAll(); expect(filterNodeEqualsString.length).toBe(2); const filterNodeEqualsNumber = await xata.db.teams.filter('config->bg->alpha', 0.8).getAll(); expect(filterNodeEqualsNumber.length).toBe(1); - expect(filterNodeEqualsNumber[0].id).toBe(r1.id); + expect(filterNodeEqualsNumber[0].xata_id).toBe(r1.xata_id); const filterNodeGreaterThan = await xata.db.teams.filter('config->bg->alpha', { $gt: 0.5 }).getAll(); expect(filterNodeGreaterThan.length).toBe(1); - expect(filterNodeGreaterThan[0].id).toBe(r1.id); + expect(filterNodeGreaterThan[0].xata_id).toBe(r1.xata_id); const filterNodeLessThan = await xata.db.teams.filter('config->bg->alpha', { $lt: 0.5 }).getAll(); expect(filterNodeLessThan.length).toBe(1); - expect(filterNodeLessThan[0].id).toBe(r2.id); + expect(filterNodeLessThan[0].xata_id).toBe(r2.xata_id); const filterNodeEqualsNumberNotFound = await xata.db.teams.filter('config->bg->alpha', 1).getAll(); expect(filterNodeEqualsNumberNotFound.length).toBe(0); @@ -212,15 +212,15 @@ describe('JSON support', () => { const recordsBySizeM = await xata.db.teams.filter({ 'config->size': 'M' }).getMany(); expect(recordsBySizeM.length).toBe(1); - expect(recordsBySizeM[0].id).toBe(record1.id); + expect(recordsBySizeM[0].xata_id).toBe(record1.xata_id); const recordsLengthGreater = await xata.db.teams.filter({ 'config->length': { $gt: 50 } }).getMany(); expect(recordsLengthGreater.length).toBe(1); - expect(recordsLengthGreater[0].id).toBe(record3.id); + expect(recordsLengthGreater[0].xata_id).toBe(record3.xata_id); const recordsBySubstring = await xata.db.teams.filter({ 'config->isbn': { $contains: '0140449334' } }).getMany(); expect(recordsBySubstring.length).toBe(1); - expect(recordsBySubstring[0].id).toBe(record2.id); + expect(recordsBySubstring[0].xata_id).toBe(record2.xata_id); const recordsWithNegationOperator = await xata.db.teams.filter({ 'config->color': { $isNot: 'yellow' } }).getMany(); expect(recordsWithNegationOperator.length).toBe(2); diff --git a/test/integration/query.test.ts b/test/integration/query.test.ts index a1bb91d08..233cf3514 100644 --- a/test/integration/query.test.ts +++ b/test/integration/query.test.ts @@ -5,7 +5,6 @@ import { iContains, includesAll, includesNone, - isXataRecord, lt, Repository, XataApiClient, @@ -42,8 +41,8 @@ beforeAll(async (ctx) => { await hooks.beforeAll(ctx); - const { id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); - const { id: ownerFruitsId } = await xata.db.users.create(ownerFruits); + const { xata_id: ownerAnimalsId } = await xata.db.users.create(ownerAnimals); + const { xata_id: ownerFruitsId } = await xata.db.users.create(ownerFruits); const fruitsTeam = await xata.db.teams.create({ name: 'Team fruits', @@ -249,9 +248,9 @@ describe('integration tests', () => { if (!ownerAnimals) throw new Error('Could not find owner of team animals'); // Regression test on filtering on nullable property - const team = await xata.db.teams.filter('owner.id', ownerAnimals.id).getFirst(); + const team = await xata.db.teams.filter('owner.xata_id', ownerAnimals.xata_id).getFirst(); - expect(team?.owner?.id).toEqual(ownerAnimals.id); + expect(team?.owner?.xata_id).toEqual(ownerAnimals.xata_id); }); test('filter on object', async () => { @@ -431,7 +430,7 @@ describe('integration tests', () => { test('get all users', async () => { const users = await xata.db.users.getAll(); expect(users).toHaveLength(mockUsers.length); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); }); test('get first', async () => { @@ -440,11 +439,11 @@ describe('integration tests', () => { expect(user).toBeDefined(); expect(definedUser).toBeDefined(); - expect(user?.id).toBe(definedUser.id); + expect(user?.xata_id).toBe(definedUser.xata_id); }); test('get first not found', async () => { - const query = xata.db.users.filter('id', 'not-found'); + const query = xata.db.users.filter('xata_id', 'not-found'); const user = await query.getFirst(); @@ -479,7 +478,7 @@ describe('integration tests', () => { const user = await xata.db.users.select(['full_name']).getFirst(); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); //@ts-expect-error expect(user?.email).not.toBeDefined(); @@ -491,7 +490,7 @@ describe('integration tests', () => { }); expect(user).toBeDefined(); - expect(user?.id).toBeDefined(); + expect(user?.xata_id).toBeDefined(); expect(user?.full_name).toBeDefined(); expect(user?.email).toBeDefined(); }); @@ -503,10 +502,10 @@ describe('integration tests', () => { street: '123 Main St' }); - const records = await xata.db.users.filter('id', user.id).select(['*', 'team.*']).getAll(); + const records = await xata.db.users.filter('xata_id', user.xata_id).select(['*', 'team.*']).getAll(); expect(records).toHaveLength(1); - expect(records[0].id).toBe(user.id); + expect(records[0].xata_id).toBe(user.xata_id); expect(records[0].full_name).toBe('John Doe'); expect(records[0].street).toBe('123 Main St'); expect(records[0].team).toBeNull(); @@ -521,14 +520,14 @@ describe('integration tests', () => { street: '123 Main St' }); - const updatedUserResponse = await xata.db.users.update(user.id, { street: 'New street', zipcode: 11 }); + const updatedUserResponse = await xata.db.users.update(user.xata_id, { street: 'New street', zipcode: 11 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe(updatedUser.id); + expect(user.xata_id).toBe(updatedUser.xata_id); expect(user.street).toBe('123 Main St'); expect(user.zipcode).toBeNull(); @@ -550,7 +549,7 @@ describe('integration tests', () => { const updatedUserResponse = await user.update({ street: 'New street 2', zipcode: 22 }); - const updatedUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const updatedUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!updatedUser) throw new Error('No user found'); await user.delete(); @@ -572,15 +571,15 @@ describe('integration tests', () => { email: 'john6@doe.com' }); - const apiUser = await xata.db.users.filter({ id: user.id }).getFirst(); + const apiUser = await xata.db.users.filter({ xata_id: user.xata_id }).getFirst(); if (!apiUser) throw new Error('No user found'); await user.delete(); - expect(user.id).toBe('my-good-old-john-6'); + expect(user.xata_id).toBe('my-good-old-john-6'); expect(user.full_name).toBe('John Doe 6'); - expect(user.id).toBe(apiUser.id); + expect(user.xata_id).toBe(apiUser.xata_id); expect(user.full_name).toBe(apiUser.full_name); expect(user.email).toBe(apiUser.email); }); @@ -610,18 +609,10 @@ describe('integration tests', () => { }); test('Pagination default value', async () => { - await api.table.createTable({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' } - }); - await api.table.setTableSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: 'planes' }, - body: { columns: [{ name: 'name', type: 'string' }] } - }); - const planes = Array.from({ length: PAGINATION_DEFAULT_SIZE + 50 }, (_, index) => ({ name: `Plane ${index}` })); - const createdPlanes = await baseClient.db.planes.create(planes); - const queriedPlanes = await baseClient.db.planes.getPaginated(); + const createdPlanes = await xata.db.users.create(planes); + const queriedPlanes = await xata.db.users.filter({ name: { $startsWith: 'Plane' } }).getPaginated(); expect(createdPlanes).toHaveLength(PAGINATION_DEFAULT_SIZE + 50); expect(queriedPlanes.records).toHaveLength(PAGINATION_DEFAULT_SIZE); @@ -646,38 +637,26 @@ describe('integration tests', () => { await user.update({ team }); const updatedUser = await user.read(); - expect(updatedUser?.team?.id).toEqual(team.id); + expect(updatedUser?.team?.xata_id).toEqual(team.xata_id); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.version).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.createdAt).not.toBeDefined(); - // TODO(link.xata) @ts-expect-error - expect(updatedUser?.team?.xata?.updatedAt).not.toBeDefined(); - - const response = await xata.db.teams.getFirst({ filter: { id: team.id }, columns: ['*', 'owner.*'] }); + const response = await xata.db.teams.getFirst({ filter: { xata_id: team.xata_id }, columns: ['*', 'owner.*'] }); const owner = await response?.owner?.read(); - expect(response?.owner?.id).toBeDefined(); + expect(response?.owner?.xata_id).toBeDefined(); expect(response?.owner?.full_name).toBeDefined(); - expect(owner?.id).toBeDefined(); + expect(owner?.xata_id).toBeDefined(); expect(owner?.full_name).toBeDefined(); - expect(response?.owner?.id).toBe(owner?.id); + expect(response?.owner?.xata_id).toBe(owner?.xata_id); expect(response?.owner?.full_name).toBe(owner?.full_name); - const teamMetadata = response?.owner?.getMetadata(); - expect(teamMetadata?.createdAt).toBeInstanceOf(Date); - expect(teamMetadata?.updatedAt).toBeInstanceOf(Date); - expect(teamMetadata?.version).toBe(1); - - expect(response?.owner?.xata?.createdAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.updatedAt).toBeInstanceOf(Date); - expect(response?.owner?.xata?.version).toBe(1); + expect(response?.owner?.xata_createdat).toBeInstanceOf(Date); + expect(response?.owner?.xata_updatedat).toBeInstanceOf(Date); + expect(response?.owner?.xata_version).toBe(1); const nestedObject = await xata.db.teams.getFirst({ - filter: { id: team.id }, + filter: { xata_id: team.xata_id }, columns: ['owner.team', 'owner.full_name'] }); @@ -686,14 +665,13 @@ describe('integration tests', () => { expect(nestedName).toEqual(user.full_name); - expect(isXataRecord(nestedProperty)).toBe(true); expect(nestedProperty?.name).toEqual(team.name); // @ts-expect-error expect(nestedProperty?.owner?.full_name).not.toBeDefined(); const nestedRead = await nestedProperty?.owner?.read(); - expect(nestedRead?.id).toBeDefined(); + expect(nestedRead?.xata_id).toBeDefined(); expect(nestedRead?.full_name).toEqual(user.full_name); }); @@ -704,51 +682,51 @@ describe('integration tests', () => { const team = await xata.db.teams.create({ name: 'Example Team', owner }); const updated = await team.update({ owner: owner2 }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Update link with linked object (string)', async () => { const owner = await xata.db.users.create({ full_name: 'Example User' }); const owner2 = await xata.db.users.create({ full_name: 'Example User 2' }); - const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.id }); - const updated = await team.update({ owner: owner2.id }); + const team = await xata.db.teams.create({ name: 'Example Team', owner: owner.xata_id }); + const updated = await team.update({ owner: owner2.xata_id }); - expect(team.owner?.id).toEqual(owner.id); - expect(updated?.owner?.id).toEqual(owner2.id); + expect(team.owner?.xata_id).toEqual(owner.xata_id); + expect(updated?.owner?.xata_id).toEqual(owner2.xata_id); }); test('Filter with null value', async () => { const newOwner = await xata.db.users.create({ full_name: 'Example User' }); const newTeam = await xata.db.teams.create({ name: 'Example Team', owner: newOwner }); - const owner = await xata.db.users.filter({ id: newOwner.id }).getFirst(); + const owner = await xata.db.users.filter({ xata_id: newOwner.xata_id }).getFirst(); if (!owner) throw new Error('No user found'); - const team = await xata.db.teams.filter({ owner }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + const team = await xata.db.teams.filter({ owner: owner.xata_id }).getFirst(); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Filter with multiple column', async () => { const newTeam = await xata.db.teams.create({ name: 'Example Team', labels: ['a', 'b'] }); const team = await xata.db.teams.filter({ labels: newTeam.labels }).getFirst(); - expect(team?.id).toEqual(newTeam.id); + expect(team?.xata_id).toEqual(newTeam.xata_id); }); test('Partial filters should work', async () => { const newTeam = await xata.db.teams.create({ name: 'A random real team', labels: ['a', 'b'] }); const maybeId = undefined; - const records = await xata.db.teams.filter({ id: maybeId, name: newTeam.name }).getMany(); + const records = await xata.db.teams.filter({ xata_id: maybeId, name: newTeam.name }).getMany(); expect(records).toHaveLength(1); - expect(records[0].id).toEqual(newTeam.id); + expect(records[0].xata_id).toEqual(newTeam.xata_id); const serialized = records.toSerializable(); expect(serialized).toHaveLength(1); - expect(serialized[0].id).toEqual(newTeam.id); + expect(serialized[0].xata_id).toEqual(newTeam.xata_id); const string = records.toString(); expect(string).toContain('A random real team'); diff --git a/test/integration/read.test.ts b/test/integration/read.test.ts index f3ce676b9..f7a63c3fd 100644 --- a/test/integration/read.test.ts +++ b/test/integration/read.test.ts @@ -30,16 +30,16 @@ describe('record read', () => { test('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const copy = await xata.db.teams.read(team.id); - const definedCopy = await xata.db.teams.readOrThrow(team.id); + const copy = await xata.db.teams.read(team.xata_id); + const definedCopy = await xata.db.teams.readOrThrow(team.xata_id); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); - expect(copy?.xata.createdAt).toBeInstanceOf(Date); + expect(copy?.xata_id).toBe(team.xata_id); + expect(copy?.xata_createdat).toBeInstanceOf(Date); expect(definedCopy).toBeDefined(); - expect(definedCopy.id).toBe(team.id); - expect(definedCopy.xata.createdAt).toBeInstanceOf(Date); + expect(definedCopy.xata_id).toBe(team.xata_id); + expect(definedCopy.xata_createdat).toBeInstanceOf(Date); }); test('read multiple teams ', async () => { @@ -49,27 +49,27 @@ describe('record read', () => { const definedCopies = await xata.db.teams.readOrThrow(teams); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test('read multiple teams with id list', async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id)); - const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.id)); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id)); + const definedCopies = await xata.db.teams.readOrThrow(teams.map((team) => team.xata_id)); expect(copies).toHaveLength(2); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(definedCopies).toHaveLength(2); - expect(definedCopies[0].id).toBe(teams[0].id); - expect(definedCopies[1].id).toBe(teams[1].id); + expect(definedCopies[0].xata_id).toBe(teams[0].xata_id); + expect(definedCopies[1].xata_id).toBe(teams[1].xata_id); }); test("read single and return null if team doesn't exist", async () => { @@ -84,17 +84,17 @@ describe('record read', () => { test("read multiple teams with id list and ignores a team if doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - const copies = await xata.db.teams.read(teams.map((team) => team.id).concat(['does-not-exist'])); + const copies = await xata.db.teams.read(teams.map((team) => team.xata_id).concat(['does-not-exist'])); expect(copies).toHaveLength(3); - expect(copies[0]?.id).toBe(teams[0].id); - expect(copies[1]?.id).toBe(teams[1].id); + expect(copies[0]?.xata_id).toBe(teams[0].xata_id); + expect(copies[1]?.xata_id).toBe(teams[1].xata_id); expect(copies[2]).toBeNull(); }); test("read multiple teams with id list and throws if a team doesn't exist", async () => { const teams = await xata.db.teams.create([{ name: 'Team cars' }, { name: 'Team planes' }]); - expect(xata.db.teams.readOrThrow(teams.map((team) => team.id).concat(['does-not-exist']))).rejects.toThrow(); + expect(xata.db.teams.readOrThrow(teams.map((team) => team.xata_id).concat(['does-not-exist']))).rejects.toThrow(); }); test('read multiple with empty array', async () => { @@ -138,15 +138,15 @@ describe('record read', () => { const owner = await xata.db.users.create({ full_name: 'John', street: 'Newark' }); const team = await xata.db.teams.create({ name: 'Team ships', labels: ['foo', 'bar'], owner }); - const copy = await xata.db.teams.read(team.id, ['id', 'name', 'owner.street']); + const copy = await xata.db.teams.read(team.xata_id, ['xata_id', 'name', 'owner.street']); expect(copy).toBeDefined(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe(team.name); // @ts-expect-error expect(copy?.labels).not.toBeDefined(); expect(copy?.owner).toBeDefined(); - expect(copy?.owner?.id).toBe(owner.id); + expect(copy?.owner?.xata_id).toBe(owner.xata_id); expect(copy?.owner?.street).toBe(owner.street); // @ts-expect-error expect(copy?.owner?.city).not.toBeDefined(); @@ -162,7 +162,7 @@ describe('record read', () => { const replacedTeam = await team.replace({ name: 'Team boats' }); - expect(replacedTeam?.id).toBe(team.id); + expect(replacedTeam?.xata_id).toBe(team.xata_id); expect(replacedTeam?.read).toBeDefined(); expect(replacedTeam?.email).toBeNull(); }); diff --git a/test/integration/revlinks.test.ts b/test/integration/revlinks.test.ts index dd29a3f31..b72065686 100644 --- a/test/integration/revlinks.test.ts +++ b/test/integration/revlinks.test.ts @@ -31,7 +31,7 @@ describe('Revlinks', () => { const user = await xata.db.users.create({ name: 'test' }); const team = await xata.db.teams.create({ name: 'test', owner: user }); - expect(team.owner?.id).toBe(user.id); + expect(team.owner?.xata_id).toBe(user.xata_id); const records = await xata.db.users .select([ @@ -50,7 +50,7 @@ describe('Revlinks', () => { expect(records[0]?.ownerTeams?.records).toHaveLength(1); expect(records[0]?.ownerTeams?.records[0]?.name).toBe(team.name); - await xata.db.users.delete(user.id); - await xata.db.teams.delete(team.id); + await xata.db.teams.delete(team.xata_id); + await xata.db.users.delete(user.xata_id); }); }); diff --git a/test/integration/search.test.ts b/test/integration/search.test.ts index a22677bdb..ef51b8f3b 100644 --- a/test/integration/search.test.ts +++ b/test/integration/search.test.ts @@ -28,12 +28,12 @@ beforeAll(async (ctx) => { { name: 'Team fruits', labels: ['apple', 'banana', 'orange'], - owner: ownerFruits + owner: ownerFruits as any }, { name: 'Team animals', labels: ['monkey', 'lion', 'eagle', 'dolphin'], - owner: ownerAnimals + owner: ownerAnimals as any }, { name: 'Mixed team fruits & animals', @@ -67,11 +67,11 @@ describe( expect(records.length).toBeGreaterThan(0); expect(records.length).toBe(2); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); - expect(records[0].getMetadata().table).toBe('users'); + expect(records[0].xata_score).toBeDefined(); + expect(records[0].xata_table).toBe('users'); }); test('search in table with filtering', async () => { @@ -81,10 +81,10 @@ describe( expect(totalCount).toBe(1); expect(records.length).toBe(1); - expect(records[0].id).toBeDefined(); + expect(records[0].xata_id).toBeDefined(); expect(records[0].full_name?.includes('Owner of team animals')).toBeTruthy(); expect(records[0].read).toBeDefined(); - expect(records[0].getMetadata().score).toBeDefined(); + expect(records[0].xata_score).toBeDefined(); }); test('search by tables with multiple tables', async () => { @@ -97,15 +97,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); }); test('search by table with all tables', async () => { @@ -118,15 +118,15 @@ describe( expect(users.length).toBeGreaterThan(0); expect(teams.length).toBeGreaterThan(0); - expect(users[0].id).toBeDefined(); + expect(users[0].xata_id).toBeDefined(); expect(users[0].read).toBeDefined(); expect(users[0].full_name?.includes('fruits')).toBeTruthy(); - expect(users[0].getMetadata().score).toBeDefined(); + expect(users[0].xata_score).toBeDefined(); - expect(teams[0].id).toBeDefined(); + expect(teams[0].xata_id).toBeDefined(); expect(teams[0].read).toBeDefined(); expect(teams[0].name?.includes('fruits')).toBeTruthy(); - expect(teams[0].getMetadata().score).toBeDefined(); + expect(teams[0].xata_score).toBeDefined(); }); test('search all with multiple tables', async () => { @@ -136,17 +136,17 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); - expect(result.record.getMetadata().table).toBe('teams'); + expect(result.record.xata_score).toBeDefined(); + expect(result.record.xata_table).toBe('teams'); } else { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().table).toBe('users'); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_table).toBe('users'); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -157,10 +157,10 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); //@ts-expect-error result.table === 'users'; @@ -174,20 +174,20 @@ describe( expect(totalCount).toBeGreaterThan(0); for (const result of records) { if (result.table === 'teams') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'users') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.full_name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } else if (result.table === 'pets') { - expect(result.record.id).toBeDefined(); + expect(result.record.xata_id).toBeDefined(); expect(result.record.read).toBeDefined(); expect(result.record.name?.includes('fruits')).toBeTruthy(); - expect(result.record.getMetadata().score).toBeDefined(); + expect(result.record.xata_score).toBeDefined(); } } }); @@ -203,11 +203,11 @@ describe( expect(records[0].table).toBe('teams'); if (records[0].table === 'teams') { - expect(records[0].record.id).toBeDefined(); + expect(records[0].record.xata_id).toBeDefined(); expect(records[0].record.read).toBeDefined(); expect(records[0].record.name?.includes('fruits')).toBeTruthy(); - expect(records[0].record.getMetadata().score).toBeDefined(); - expect(records[0].record.xata.highlight).toBeDefined(); + expect(records[0].record.xata_score).toBeDefined(); + expect(records[0].record.xata_highlight).toBeDefined(); } }); @@ -224,10 +224,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); test('global search with page and offset', async () => { @@ -252,10 +252,10 @@ describe( expect(page1.length).toBe(1); expect(page2.length).toBe(1); - expect(page1[0].id).not.toBe(page2[0].id); + expect(page1[0].xata_id).not.toBe(page2[0].xata_id); - expect(page1[0].id).toBe(owners[0].id); - expect(page2[0].id).toBe(owners[1].id); + expect(page1[0].xata_id).toBe(owners[0].xata_id); + expect(page2[0].xata_id).toBe(owners[1].xata_id); }); }, { retry: 5 } diff --git a/test/integration/smoke.test.ts b/test/integration/smoke.test.ts index f7f2d59c6..c4bd0ecee 100644 --- a/test/integration/smoke.test.ts +++ b/test/integration/smoke.test.ts @@ -73,18 +73,21 @@ describe('API Client Integration Tests', () => { console.log('Created branch, table and schema'); - const { id } = await newApi.records.insertRecord({ + const response = await newApi.records.insertRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, body: { email: 'example@foo.bar' } }); + // @ts-expect-error Remove this once pgroll is normalized + const id = response.xata_id; + console.log('Created record', id); const record = await newApi.records.getRecord({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table', recordId: id } }); - expect(record.id).toBeDefined(); + expect(record.xata_id).toBeDefined(); expect(record.email).toEqual('example@foo.bar'); await waitForSearchIndexing(newApi, workspace, database); @@ -95,7 +98,7 @@ describe('API Client Integration Tests', () => { }); expect(search.totalCount).toEqual(1); - expect(search.records[0].id).toEqual(id); + expect(search.records[0].xata_id).toEqual(id); const failedSearch = await newApi.searchAndFilter.searchTable({ pathParams: { workspace, region, dbBranchName: `${database}:branch`, tableName: 'table' }, diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 0bed97768..60f6deb07 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -30,29 +30,14 @@ describe('SQL proxy', () => { test.skip('read single team with id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { records, warning, columns } = await xata.sql`SELECT * FROM teams WHERE id = ${team.id}`; + const { records, warning, columns } = + await xata.sql`SELECT * FROM teams WHERE xata_id = ${team.xata_id}`; expect(warning).toBeUndefined(); expect(records).toHaveLength(1); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -67,7 +52,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -93,6 +78,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -100,7 +101,7 @@ describe('SQL proxy', () => { ] `); - expect(records[0].id).toBe(team.id); + expect(records[0].xata_id).toBe(team.xata_id); expect(records[0].name).toBe('Team ships'); }); @@ -114,22 +115,6 @@ describe('SQL proxy', () => { expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -144,7 +129,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -170,6 +155,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -177,8 +178,8 @@ describe('SQL proxy', () => { ] `); - const record1 = records.find((record) => record.id === teams[0].id); - const record2 = records.find((record) => record.id === teams[1].id); + const record1 = records.find((record) => record.xata_id === teams[0].xata_id); + const record2 = records.find((record) => record.xata_id === teams[1].xata_id); expect(record1).toBeDefined(); expect(record1?.name).toBe('[A] Cars'); @@ -188,28 +189,12 @@ describe('SQL proxy', () => { test.skip('create team', async () => { const { records, warning, columns } = await xata.sql({ - statement: `INSERT INTO teams (name) VALUES ($1) RETURNING *`, - params: ['Team ships 2'] + statement: `INSERT INTO teams (xata_id, name) VALUES ($1, $2) RETURNING *`, + params: ['my-id', 'Team ships 2'] }); expect(columns).toMatchInlineSnapshot(` [ - { - "name": "id", - "type": "text", - }, - { - "name": "xata.version", - "type": "int4", - }, - { - "name": "xata.createdAt", - "type": "timestamptz", - }, - { - "name": "xata.updatedAt", - "type": "timestamptz", - }, { "name": "name", "type": "text", @@ -224,7 +209,7 @@ describe('SQL proxy', () => { }, { "name": "index", - "type": "int8", + "type": "int4", }, { "name": "rating", @@ -250,6 +235,22 @@ describe('SQL proxy', () => { "name": "config", "type": "jsonb", }, + { + "name": "xata_id", + "type": "text", + }, + { + "name": "xata_version", + "type": "int4", + }, + { + "name": "xata_createdat", + "type": "timestamptz", + }, + { + "name": "xata_updatedat", + "type": "timestamptz", + }, { "name": "owner", "type": "text", @@ -261,7 +262,7 @@ describe('SQL proxy', () => { expect(records).toHaveLength(1); expect(records[0].name).toBe('Team ships 2'); - const team = await xata.db.teams.read(records[0].id); + const team = await xata.db.teams.read(records[0].xata_id); expect(team).toBeDefined(); expect(team?.name).toBe('Team ships 2'); }); diff --git a/test/integration/summarize.test.ts b/test/integration/summarize.test.ts index cc999ee37..0538d05f7 100644 --- a/test/integration/summarize.test.ts +++ b/test/integration/summarize.test.ts @@ -27,11 +27,11 @@ beforeAll(async (ctx) => { rating: 10.5, plan: 'paid', dark: true, - pet: pet1.id, + pet: pet1.xata_id, account_value: 5 }, - { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.id, account_value: 3 }, - { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.id } + { full_name: 'B', name: 'B', index: 10, rating: 10.5, plan: 'free', pet: pet2.xata_id, account_value: 3 }, + { full_name: 'C', name: 'C', index: 30, rating: 40.0, plan: 'paid', pet: pet3.xata_id } ]); }); @@ -426,7 +426,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: 'nomatches' } + filter: { xata_id: 'nomatches' } }); expect(result.summaries).toMatchInlineSnapshot('[]'); @@ -440,7 +440,7 @@ describe('summarize', () => { const result = await xata.db.users.summarize({ columns: ['name'], summaries: { total: { count: '*' } }, - filter: { id: user1?.id ?? '' } + filter: { xata_id: user1?.xata_id ?? '' } }); expect(result.summaries).toMatchInlineSnapshot(` diff --git a/test/integration/transactions.test.ts b/test/integration/transactions.test.ts index 71cf03456..d7e670590 100644 --- a/test/integration/transactions.test.ts +++ b/test/integration/transactions.test.ts @@ -38,7 +38,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: expect.any(String), rows: 1 }]); - await xata.db.teams.delete({ id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); }); test('insert by ID', async () => { @@ -46,7 +46,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('insert with createOnly and explicit ID', async () => { @@ -56,7 +56,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1 }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is unset', async () => { @@ -67,7 +67,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace existing record if createOnly is false', async () => { @@ -78,7 +78,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('replace when ifVersion set', async () => { @@ -90,7 +90,7 @@ describe('insert transactions', () => { expect(response.results).toEqual([{ operation: 'insert', id: 'i0', rows: 1, columns: {} }]); - await xata.db.teams.delete({ id: 'i0' }); + await xata.db.teams.delete({ xata_id: 'i0' }); }); test('mix of operations', async () => { @@ -110,10 +110,10 @@ describe('insert transactions', () => { { operation: 'insert', id: 'j0', rows: 1, columns: {} } ]); - await xata.db.teams.delete({ id: response.results[0]?.id }); - await xata.db.teams.delete({ id: 'i1' }); - await xata.db.users.delete({ id: 'j1' }); - await xata.db.users.delete({ id: 'j0' }); + await xata.db.teams.delete({ xata_id: response.results[0]?.id }); + await xata.db.teams.delete({ xata_id: 'i1' }); + await xata.db.users.delete({ xata_id: 'j1' }); + await xata.db.users.delete({ xata_id: 'j0' }); }); }); @@ -317,9 +317,9 @@ describe('combined transactions', () => { { update: { table: 'teams', id: 'i2', fields: { name: 'c1' } } }, { update: { table: 'teams', id: 'i2', fields: { name: 'c1.1' } } }, { delete: { table: 'teams', id: 'i3' } }, - { get: { table: 'teams', id: 'i0', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i1', columns: ['id', 'index', 'name'] } }, - { get: { table: 'teams', id: 'i2', columns: ['id', 'index', 'name'] } } + { get: { table: 'teams', id: 'i0', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i1', columns: ['xata_id', 'index', 'name'] } }, + { get: { table: 'teams', id: 'i2', columns: ['xata_id', 'index', 'name'] } } ]); expect(response.results).toEqual([ @@ -329,9 +329,9 @@ describe('combined transactions', () => { { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'update', id: 'i2', rows: 1, columns: {} }, { operation: 'delete', rows: 1 }, - { operation: 'get', columns: { id: 'i0', name: 'a1', index: 0 } }, - { operation: 'get', columns: { id: 'i1', name: 'b1', index: 1 } }, - { operation: 'get', columns: { id: 'i2', name: 'c1.1', index: 2 } } + { operation: 'get', columns: { xata_id: 'i0', name: 'a1', index: 0 } }, + { operation: 'get', columns: { xata_id: 'i1', name: 'b1', index: 1 } }, + { operation: 'get', columns: { xata_id: 'i2', name: 'c1.1', index: 2 } } ]); const records = await xata.db.teams.read(['i0', 'i1', 'i2']); diff --git a/test/integration/update.test.ts b/test/integration/update.test.ts index 80747e46f..398a6694d 100644 --- a/test/integration/update.test.ts +++ b/test/integration/update.test.ts @@ -30,11 +30,11 @@ describe('record update', () => { test('update single team', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); if (!apiTeam) throw new Error('No team found'); expect(updatedTeam?.name).toBe('Team boats'); @@ -48,7 +48,7 @@ describe('record update', () => { expect(updatedTeams).toHaveLength(2); - const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ id: t.id })) }).getAll(); + const apiTeams = await xata.db.teams.filter({ $any: teams.map((t) => ({ xata_id: t.xata_id })) }).getAll(); expect(apiTeams).toHaveLength(2); expect(apiTeams[0].name).toBe('Team boats'); @@ -58,11 +58,11 @@ describe('record update', () => { test('update team with inline id', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const updatedTeam = await xata.db.teams.update({ id: team.id, name: 'Team boats' }); + const updatedTeam = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team boats' }); - expect(updatedTeam?.id).toBe(team.id); + expect(updatedTeam?.xata_id).toBe(team.xata_id); - const apiTeam = await xata.db.teams.filter({ id: team.id }).getFirst(); + const apiTeam = await xata.db.teams.filter({ xata_id: team.xata_id }).getFirst(); expect(updatedTeam?.name).toBe('Team boats'); expect(apiTeam?.name).toBe('Team boats'); @@ -77,92 +77,91 @@ describe('record update', () => { const valid = await xata.db.teams.create({ name: 'Team ships' }); const team1 = await xata.db.teams.update('invalid', { name: 'Team boats' }); - const team2 = await xata.db.teams.update({ id: 'invalid', name: 'Team boats' }); + const team2 = await xata.db.teams.update({ xata_id: 'invalid', name: 'Team boats' }); const team3 = await xata.db.teams.update([ - { id: 'invalid', name: 'Team boats' }, - { id: valid.id, name: 'Team boats 2' } + { xata_id: 'invalid', name: 'Team boats' }, + { xata_id: valid.xata_id, name: 'Team boats 2' } ]); expect(team1).toBeNull(); expect(team2).toBeNull(); expect(team3[0]).toBeNull(); expect(team3[1]).toBeDefined(); - expect(team3[1]?.id).toBe(valid.id); + expect(team3[1]?.xata_id).toBe(valid.xata_id); expect(team3[1]?.name).toBe('Team boats 2'); }); test('update item with if version', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const { version: versionA } = team.getMetadata(); + const baseVersion = team.xata_version; - const updatedTeam = await xata.db.teams.update(team.id, { name: 'Team boats' }, { ifVersion: versionA }); - const { version: versionB } = updatedTeam?.getMetadata() || {}; + const updatedTeam = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }, { ifVersion: baseVersion }); - expect(updatedTeam?.id).toBe(team.id); - expect(versionB).toBe(versionA + 1); + expect(updatedTeam?.xata_id).toBe(team.xata_id); + expect(updatedTeam?.xata_version).toBe(baseVersion + 1); - const updatedTeam2 = await xata.db.teams.update(team.id, { name: 'Team planes' }, { ifVersion: versionA }); - const { version: versionC } = updatedTeam2?.getMetadata() || {}; + const updatedTeam2 = await xata.db.teams.update(team.xata_id, { name: 'Team planes' }, { ifVersion: baseVersion }); expect(updatedTeam2).toBeNull(); - expect(versionC).toBe(undefined); + expect(updatedTeam2?.xata_version).toBe(undefined); - const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: versionA }); - const { version: versionD } = updatedTeam3?.getMetadata() || {}; + const updatedTeam3 = await team.update({ name: 'Team cars' }, { ifVersion: baseVersion }); expect(updatedTeam3).toBeNull(); - expect(versionD).toBe(undefined); + expect(updatedTeam3?.xata_version).toBe(undefined); - expect(xata.db.teams.updateOrThrow(team.id, { name: 'Team cars' }, { ifVersion: versionA })).rejects.toThrow(); + expect( + xata.db.teams.updateOrThrow(team.xata_id, { name: 'Team cars' }, { ifVersion: baseVersion }) + ).rejects.toThrow(); }); test('update item with id column', async () => { const team = await xata.db.teams.create({ name: 'Team ships' }); - const update1 = await xata.db.teams.update(team.id, { name: 'Team boats' }); + const update1 = await xata.db.teams.update(team.xata_id, { name: 'Team boats' }); - expect(update1?.id).toBe(team.id); + expect(update1?.xata_id).toBe(team.xata_id); expect(update1?.name).toBe('Team boats'); - const update2 = await xata.db.teams.update({ id: team.id, name: 'Team planes' }); + const update2 = await xata.db.teams.update({ xata_id: team.xata_id, name: 'Team planes' }); - expect(update2?.id).toBe(team.id); + expect(update2?.xata_id).toBe(team.xata_id); expect(update2?.name).toBe('Team planes'); - const update3 = await xata.db.teams.update([{ id: team.id, name: 'Team cars' }]); + const update3 = await xata.db.teams.update([{ xata_id: team.xata_id, name: 'Team cars' }]); - expect(update3[0]?.id).toBe(team.id); + expect(update3[0]?.xata_id).toBe(team.xata_id); expect(update3[0]?.name).toBe('Team cars'); const update4 = await update1?.update({ name: 'Team trains' }); - expect(update4?.id).toBe(team.id); + expect(update4?.xata_id).toBe(team.xata_id); expect(update4?.name).toBe('Team trains'); - const update5 = await update1?.update({ id: update1?.id, name: 'Team boats' }); + const update5 = await update1?.update({ xata_id: update1?.xata_id, name: 'Team boats' }); - expect(update5?.id).toBe(team.id); + expect(update5?.xata_id).toBe(team.xata_id); expect(update5?.name).toBe('Team boats'); const copy = await update2?.read(); - expect(copy?.id).toBe(team.id); + expect(copy?.xata_id).toBe(team.xata_id); expect(copy?.name).toBe('Team boats'); }); test('update with numeric operations', async () => { const pet = await xata.db.pets.create({ name: 'Pet', num_legs: 1 }); - const update1 = await xata.db.pets.update(pet.id, { num_legs: { $increment: 3 } }); + const update1 = await xata.db.pets.update(pet.xata_id, { num_legs: { $increment: 3 } }); expect(update1?.num_legs).toBe(4); - const update2 = await xata.db.pets.update({ id: pet.id, num_legs: { $divide: 2 } }); + const update2 = await xata.db.pets.update({ xata_id: pet.xata_id, num_legs: { $divide: 2 } }); expect(update2?.num_legs).toBe(2); - const update3 = await xata.db.pets.update([{ id: pet.id, num_legs: { $multiply: 2 } }]); + const update3 = await xata.db.pets.update([{ xata_id: pet.xata_id, num_legs: { $multiply: 2 } }]); expect(update3[0]?.num_legs).toBe(4); - const update4 = await xata.db.pets.update(pet.id, { num_legs: { $decrement: 4 } }); + const update4 = await xata.db.pets.update(pet.xata_id, { num_legs: { $decrement: 4 } }); expect(update4?.num_legs).toBe(0); }); }); diff --git a/test/mock_data.ts b/test/mock_data.ts index 079136936..a09dbf2fd 100644 --- a/test/mock_data.ts +++ b/test/mock_data.ts @@ -1,5 +1,6 @@ import { Schema } from '../packages/client/src/api/schemas'; import schemaJson from '../packages/codegen/example/schema.json'; +import { PgRollOperation } from '../packages/pgroll'; const animals = [ 'Ape', @@ -67,3 +68,90 @@ export const fruitUsers = fruits.map((fruit) => ({ export const mockUsers = [ownerFruits, ownerAnimals, ...animalUsers, ...fruitUsers]; export const schema = schemaJson as Schema; + +export const pgRollMigrations: PgRollOperation[] = [ + { + create_table: { + name: 'users', + columns: [ + { name: 'email', type: 'text', unique: true, nullable: true }, + { name: 'name', type: 'text', nullable: true }, + { name: 'photo', type: 'xata.xata_file', nullable: true, comment: `{ "xata.file.dpa": true }` }, + { name: 'attachments', type: 'xata.xata_file_array', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'full_name', type: 'text', nullable: false, default: "'John Doe'" }, + { name: 'index', type: 'int8', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'birthDate', type: 'timestamptz', nullable: true }, + { name: 'street', type: 'text', nullable: true }, + { name: 'zipcode', type: 'int', nullable: true }, + { name: 'account_value', type: 'int', nullable: true }, + { name: 'vector', type: 'real[]', nullable: true, comment: `{ "xata.search.dimension": 4 }` } + ] + } + }, + { + create_table: { + name: 'teams', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'description', type: 'text', nullable: true }, + { name: 'labels', type: 'text[]', nullable: true }, + { name: 'index', type: 'int', nullable: true }, + { name: 'rating', type: 'float', nullable: true }, + { name: 'founded_date', type: 'timestamptz', nullable: true }, + { name: 'email', type: 'text', nullable: true }, + { name: 'plan', type: 'text', nullable: true }, + { name: 'dark', type: 'boolean', nullable: true }, + { name: 'config', type: 'jsonb', nullable: true } + ] + } + }, + { + create_table: { + name: 'pets', + columns: [ + { name: 'name', type: 'text', nullable: true }, + { name: 'type', type: 'text', nullable: true }, + { name: 'num_legs', type: 'int', nullable: true } + ] + } + }, + { + add_column: { + table: 'users', + column: { + name: 'team', + type: 'text', + nullable: true, + comment: `{ "xata.link": "teams" }`, + references: { name: 'fk_team_id', table: 'teams', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'users', + column: { + name: 'pet', + type: 'text', + nullable: true, + comment: `{ "xata.link": "pets" }`, + references: { name: 'fk_pet_id', table: 'pets', column: 'xata_id' } + } + } + }, + { + add_column: { + table: 'teams', + column: { + name: 'owner', + type: 'text', + nullable: true, + comment: `{ "xata.link": "users" }`, + references: { name: 'fk_owner_id', table: 'users', column: 'xata_id' } + } + } + } +]; diff --git a/test/utils/setup.ts b/test/utils/setup.ts index 063720b35..faaad81fa 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -13,7 +13,7 @@ import { getHostUrl, parseProviderString } from '../../packages/client/src/api/p import { TraceAttributes } from '../../packages/client/src/schema/tracing'; import { XataClient } from '../../packages/codegen/example/xata'; import { buildTraceFunction } from '../../packages/plugin-client-opentelemetry'; -import { schema } from '../mock_data'; +import { pgRollMigrations } from '../mock_data'; // Get environment variables before reading them dotenv.config({ path: join(process.cwd(), '.env') }); @@ -24,10 +24,10 @@ if (apiKey === '') throw new Error('XATA_API_KEY environment variable is not set const workspace = process.env.XATA_WORKSPACE ?? ''; if (workspace === '') throw new Error('XATA_WORKSPACE environment variable is not set'); -const region = process.env.XATA_REGION || 'eu-west-1'; - const host = parseProviderString(process.env.XATA_API_PROVIDER); +const region = process.env.XATA_REGION || 'us-east-1'; + export type EnvironmentOptions = { fetch?: any; }; @@ -74,7 +74,7 @@ export async function setUpTestEnvironment( const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, - headers: { 'X-Xata-Files': 'true' } + headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); const workspaceUrl = getHostUrl(host, 'workspaces').replace('{workspaceId}', workspace).replace('{region}', region); @@ -88,15 +88,22 @@ export async function setUpTestEnvironment( clientName: 'sdk-tests' }; - const { edits } = await api.migrations.compareBranchWithUserSchema({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { schema } - }); + for (const operation of pgRollMigrations) { + const { jobID } = await api.migrations.applyMigration({ + pathParams: { workspace, region, dbBranchName: `${database}:main` }, + body: { operations: [operation] } + }); - await api.migrations.applyBranchSchemaEdit({ - pathParams: { workspace, region, dbBranchName: `${database}:main` }, - body: { edits } - }); + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + + if ('create_table' in operation) { + const { jobID } = await api.migrations.adaptTable({ + pathParams: { workspace, region, dbBranchName: `${database}:main`, tableName: operation.create_table.name } + }); + + await waitForMigrationToFinish(api, workspace, region, database, 'main', jobID); + } + } let span: Span | undefined; @@ -155,3 +162,26 @@ declare module 'vitest' { span?: Span; } } + +async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} From 62f0fea823e857b11bedac5a3404c5b284c30744 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Wed, 6 Mar 2024 09:20:47 +0100 Subject: [PATCH 141/145] Update test to allow postgres (#1396) --- test/utils/setup.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/utils/setup.ts b/test/utils/setup.ts index faaad81fa..db51d1016 100644 --- a/test/utils/setup.ts +++ b/test/utils/setup.ts @@ -71,6 +71,12 @@ export async function setUpTestEnvironment( const id = Date.now().toString(36); const api = new XataApiClient({ apiKey, fetch, host, clientName: 'sdk-tests' }); + + await api.workspaces.updateWorkspaceSettings({ + pathParams: { workspaceId: workspace }, + body: { postgresEnabled: true } + }); + const { databaseName: database } = await api.databases.createDatabase({ pathParams: { workspaceId: workspace, dbName: `sdk-integration-test-${prefix}-${id}` }, body: { region }, From 1a04ca43f2ef3b2cea16e89a8dc7054e6b695439 Mon Sep 17 00:00:00 2001 From: Alexis Rico Date: Thu, 21 Mar 2024 15:36:32 +0100 Subject: [PATCH 142/145] Fix drizzle tests in `next` (#1417) Signed-off-by: Alexis Rico --- .../plugin-client-drizzle/test/drizzle.test.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/plugin-client-drizzle/test/drizzle.test.ts b/packages/plugin-client-drizzle/test/drizzle.test.ts index 4f4fd077a..213e68dbc 100644 --- a/packages/plugin-client-drizzle/test/drizzle.test.ts +++ b/packages/plugin-client-drizzle/test/drizzle.test.ts @@ -78,10 +78,9 @@ function getDrizzleClient(type: string, branch: string) { describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ type }) => { beforeAll(async () => { - await api.database.createDatabase({ - workspace, - database, - data: { region, branchName: 'main' }, + await api.databases.createDatabase({ + pathParams: { workspaceId: workspace, dbName: database }, + body: { region, branchName: 'main' }, headers: { 'X-Features': 'feat-pgroll-migrations=1' } }); @@ -155,12 +154,15 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ }); afterAll(async () => { - await api.database.deleteDatabase({ workspace, database }); + await api.databases.deleteDatabase({ pathParams: { workspaceId: workspace, dbName: database } }); }); beforeEach(async (ctx) => { ctx.branch = `test-${Math.random().toString(36).substring(7)}`; - await api.branches.createBranch({ workspace, database, region, branch: ctx.branch, from: 'main' }); + await api.branch.createBranch({ + pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` }, + body: { from: 'main' } + }); const { db, client } = getDrizzleClient(type, ctx.branch); await client?.connect(); @@ -171,7 +173,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ afterEach(async (ctx) => { await ctx.client?.end(); - await api.branches.deleteBranch({ workspace, database, region, branch: ctx.branch }); + await api.branch.deleteBranch({ pathParams: { workspace, region, dbBranchName: `${database}:${ctx.branch}` } }); }); /* @@ -6285,7 +6287,7 @@ describe.concurrent.each([{ type: 'pg' }, { type: 'http' }])('Drizzle $type', ({ async function waitForReplication(): Promise { try { await new Promise((resolve) => setTimeout(resolve, 2000)); - await api.branches.getBranchList({ workspace, database, region }); + await api.branch.getBranchList({ pathParams: { workspace, dbName: database, region } }); } catch (error) { console.log(`Replication not ready yet, retrying...`); return await waitForReplication(); From 09fff4cd02e398d7bb99712a15a1b14960b4d63a Mon Sep 17 00:00:00 2001 From: Emily Morgan Date: Fri, 22 Mar 2024 09:41:21 +0100 Subject: [PATCH 143/145] fix: generate data native types (#1412) Signed-off-by: Alexis Rico Co-authored-by: Alexis Rico --- packages/importer/src/random-data.ts | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/packages/importer/src/random-data.ts b/packages/importer/src/random-data.ts index 26cc39581..7f81a763f 100644 --- a/packages/importer/src/random-data.ts +++ b/packages/importer/src/random-data.ts @@ -1,5 +1,12 @@ import { fakerEN as faker } from '@faker-js/faker'; import { Schemas } from '@xata.io/client'; +import { z } from 'zod'; + +// TODO: Remove this once we migrate pgroll branches +type PgRollColumn = Schemas.Column & { + comment?: string; + pgType?: string; +}; export function generateRandomData(table: Schemas.Table, size: number) { const records: Record[] = []; @@ -11,7 +18,7 @@ export function generateRandomData(table: Schemas.Table, size: number) { return records; } -function randomRecord(columns: Schemas.Column[]) { +function randomRecord(columns: PgRollColumn[]) { const record: Record = {}; for (const column of columns) { record[column.name] = randomData(column); @@ -19,53 +26,53 @@ function randomRecord(columns: Schemas.Column[]) { return record; } -function randomData(column: Schemas.Column) { - switch (column.type) { - case 'text': - return faker.lorem.paragraphs(rand(2, 3)); - case 'email': - return faker.internet.email({ provider: 'acme.pets' }); +function randomData(column: PgRollColumn) { + const columnCommentType = narrowStringType(column.comment); + // Note that this is a best effort and seeding may fail for invalid Xata columns + // that are foreign keys, or have constraints such as length attached to them. + switch (column.pgType) { + case 'boolean': + return rand(0, 1) === 1; + case 'bigint': + case 'int8': + case 'integer': case 'int': + case 'int4': + case 'smallint': return rand(1, 100); - case 'float': + case 'double precision': + case 'float8': + case 'real': return rand(1, 10000) / rand(1, 100); - case 'bool': - return rand(0, 1) === 1; - case 'multiple': - return faker.word.words(rand(1, 3)).split(' '); - case 'string': - return randomString(column.name); - case 'datetime': + case 'text': + case 'varchar': + case 'character varying': + if (columnCommentType === 'email') return faker.internet.email({ provider: 'acme.pets' }); + return faker.word.words(3); + case 'timestamptz': return faker.date.recent({ days: rand(1, 10) }); - default: - return undefined; + case 'text[]': + return faker.word.words(rand(1, 3)).split(' '); } + + if (column.pgType?.startsWith('character(') || column.pgType?.startsWith('varchar(')) return faker.word.words(3); + if (column.pgType?.startsWith('numeric(')) return rand(1, 10000) / rand(1, 100); + + return undefined; } function rand(min: number, max: number) { return Math.floor(Math.random() * (max - min) + min); } -const generators: Record string> = { - city: () => faker.location.city(), - country: () => faker.location.country(), - county: () => faker.location.county(), - state: () => faker.location.state(), - street: () => faker.location.street(), - timezone: () => faker.location.timeZone(), - tz: () => faker.location.timeZone(), - zipcode: () => faker.location.zipCode(), - zip: () => faker.location.zipCode(), - department: () => faker.commerce.department(), - product: () => faker.commerce.product(), - company: () => faker.company.name(), - firstName: () => faker.person.firstName(), - lastName: () => faker.person.lastName(), - phone: () => faker.phone.number('501-###-###') -}; +export const xataStringColumns = ['email', 'text', 'string'] as const; -function randomString(columnName: string) { - const gen = generators[columnName.toLowerCase()]; - if (gen) return gen(); - return faker.word.words(2); -} +const XataStringColumn = z.object({ + ['xata.type']: z.enum(xataStringColumns) +}); + +const narrowStringType = (comment?: string): Schemas.Column['type'] => { + if (!comment) return 'text'; + const result = XataStringColumn.safeParse(JSON.parse(comment)); + return result.success ? result.data['xata.type'] : 'text'; +}; From 2c2c59b7ff457cfa05e0e8617936eccf628baba4 Mon Sep 17 00:00:00 2001 From: Andrew Farries Date: Tue, 9 Apr 2024 14:54:28 +0100 Subject: [PATCH 144/145] Wait for completion on `pgroll` migration push (#1434) --- .changeset/light-cycles-repair.md | 2 +- cli/src/commands/push/index.ts | 9 ++++++--- cli/src/commands/push/push.test.ts | 8 ++++++++ cli/src/migrations/pgroll.ts | 31 ++++++++++++++++++++++++++---- test/integration/sql.test.ts | 2 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.changeset/light-cycles-repair.md b/.changeset/light-cycles-repair.md index 61c123457..8ed66fc50 100644 --- a/.changeset/light-cycles-repair.md +++ b/.changeset/light-cycles-repair.md @@ -1,5 +1,5 @@ --- -"@xata.io/client": major +'@xata.io/client': major --- Make XataApiClient to use ES Proxies diff --git a/cli/src/commands/push/index.ts b/cli/src/commands/push/index.ts index 596b88655..247c48458 100644 --- a/cli/src/commands/push/index.ts +++ b/cli/src/commands/push/index.ts @@ -1,5 +1,6 @@ import { Args, Flags } from '@oclif/core'; import { Schemas } from '@xata.io/client'; +import { PgRollMigrationDefinition } from '@xata.io/pgroll'; import { BaseCommand } from '../../base.js'; import { LocalMigrationFile, @@ -11,10 +12,10 @@ import { allMigrationsPgRollFormat, getBranchDetailsWithPgRoll, isBranchPgRollEnabled, - isMigrationPgRollFormat + isMigrationPgRollFormat, + waitForMigrationToFinish } from '../../migrations/pgroll.js'; import { MigrationFilePgroll } from '../../migrations/schema.js'; -import { PgRollMigrationDefinition } from '@xata.io/pgroll'; export default class Push extends BaseCommand { static description = 'Push local changes to a remote Xata branch'; @@ -103,10 +104,12 @@ export default class Push extends BaseCommand { .flatMap((migration) => PgRollMigrationDefinition.parse(migration)); for (const migration of migrationsToPush) { try { - await xata.api.migrations.applyMigration({ + const { jobID } = await xata.api.migrations.applyMigration({ pathParams: { workspace, region, dbBranchName: `${database}:${branch}` }, body: migration }); + + await waitForMigrationToFinish(xata.api, workspace, region, database, branch, jobID); } catch (e) { this.log(`Failed to push ${migration} with ${e}. Stopping.`); this.exit(1); diff --git a/cli/src/commands/push/push.test.ts b/cli/src/commands/push/push.test.ts index 94fa78b23..0cfca5376 100644 --- a/cli/src/commands/push/push.test.ts +++ b/cli/src/commands/push/push.test.ts @@ -188,6 +188,14 @@ const baseFetch = (url: string, request: any) => { } }) }; + } else if ( + url === `https://test-1234.us-east-1.xata.sh/db/db1:main/migrations/jobs/1234` && + request.method === 'GET' + ) { + return { + ok: true, + json: async () => ({ status: 'completed' }) + }; } throw new Error(`Unexpected fetch request: ${url} ${request.method}`); diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 4028d220c..37ea8130a 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -1,9 +1,9 @@ -import { Schemas } from '@xata.io/client'; -import { migrationsDir, readMigrationsDir } from './files.js'; +import { Schemas, XataApiClient } from '@xata.io/client'; import path from 'path'; -import { safeJSONParse, safeReadFile } from '../utils/files.js'; -import { migrationFilePgroll, MigrationFilePgroll } from './schema.js'; import { XataClient } from '../base.js'; +import { safeJSONParse, safeReadFile } from '../utils/files.js'; +import { migrationsDir, readMigrationsDir } from './files.js'; +import { MigrationFilePgroll, migrationFilePgroll } from './schema.js'; export const isBranchPgRollEnabled = (details: Schemas.DBBranch) => { // @ts-expect-error TODO: Fix this when api is finalized @@ -121,3 +121,26 @@ export async function getBranchDetailsWithPgRoll( return details; } + +export async function waitForMigrationToFinish( + api: XataApiClient, + workspace: string, + region: string, + database: string, + branch: string, + jobId: string +) { + const { status, error } = await api.migrations.getMigrationJobStatus({ + pathParams: { workspace, region, dbBranchName: `${database}:${branch}`, jobId } + }); + if (status === 'failed') { + throw new Error(`Migration failed, ${error}`); + } + + if (status === 'completed') { + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + return await waitForMigrationToFinish(api, workspace, region, database, branch, jobId); +} diff --git a/test/integration/sql.test.ts b/test/integration/sql.test.ts index 60f6deb07..e01782e82 100644 --- a/test/integration/sql.test.ts +++ b/test/integration/sql.test.ts @@ -373,7 +373,7 @@ describe('SQL proxy', () => { expect(record2).toBeDefined(); expect(record2?.[4]).toBe('[C] Planes'); }); - + test('xata.sql has a connection string', async () => { expect(xata.sql.connectionString).toBeDefined(); expect(xata.sql.connectionString).toMatch( From 7c1cfcaf63927c6a5a2457a15de2dd8be4526eb6 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 30 Apr 2024 13:08:16 +0200 Subject: [PATCH 145/145] feat: remove xata types from edit --- cli/src/commands/schema/edit.test.ts | 81 +++++++------- cli/src/commands/schema/edit.ts | 81 ++++++++------ cli/src/migrations/pgroll.ts | 154 +++++++-------------------- 3 files changed, 129 insertions(+), 187 deletions(-) diff --git a/cli/src/commands/schema/edit.test.ts b/cli/src/commands/schema/edit.test.ts index cb83c1a27..0ad8a455a 100644 --- a/cli/src/commands/schema/edit.test.ts +++ b/cli/src/commands/schema/edit.test.ts @@ -14,7 +14,7 @@ import EditSchema, { editsToMigrations } from './edit'; const column: AddColumnPayload['column'] = { name: 'col1', - type: 'string', + type: 'text', unique: false, nullable: true, originalName: 'col1', @@ -146,11 +146,11 @@ const testCases: TestCase[] = [ nullable: true, unique: false, check: { - constraint: 'LENGTH("col1") <= 2048', - name: 'table1_xata_string_length_col1' + constraint: 'OCTET_LENGTH("col1") <= 204800', + name: 'table1_xata_text_length_col1' }, up: undefined, - comment: '{"xata.type":"string"}', + comment: undefined, default: undefined, references: undefined } @@ -163,7 +163,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'int', + type: 'bigint', defaultValue: '10000' }); }, @@ -188,7 +188,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'int', + type: 'bigint', nullable: false }); }, @@ -213,7 +213,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'int', + type: 'bigint', unique: true }); }, @@ -238,7 +238,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'file', + type: 'xata.xata_file', file: { defaultPublicAccess: false } @@ -266,7 +266,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'file[]', + type: 'xata.xata_file_array', 'file[]': { defaultPublicAccess: true } @@ -294,7 +294,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'vector', + type: 'real[]', vector: { dimension: 10 } @@ -315,7 +315,6 @@ const testCases: TestCase[] = [ unique: false, comment: '{"xata.search.dimension":10}', references: undefined, - up: undefined, default: undefined } } @@ -327,7 +326,7 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'link', + type: 'text', link: { table: 'table2' } }); }, @@ -340,6 +339,10 @@ const testCases: TestCase[] = [ type: 'text', nullable: true, unique: false, + check: { + constraint: 'OCTET_LENGTH("col1") <= 204800', + name: 'table1_xata_text_length_col1' + }, comment: '{"xata.link":"table2"}', references: { column: 'xata_id', @@ -470,10 +473,10 @@ const testCases: TestCase[] = [ nullable: true, unique: false, check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' + constraint: 'OCTET_LENGTH("col2") <= 204800', + name: 'table1_xata_text_length_col2' }, - comment: '{"xata.type":"string"}', + comment: undefined, default: undefined, references: undefined, up: undefined @@ -572,7 +575,7 @@ const testCases: TestCase[] = [ editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, - type: 'float', + type: 'float8', unique: true }); }, @@ -583,7 +586,7 @@ const testCases: TestCase[] = [ columns: [ { name: 'col1', - type: 'double precision', + type: 'float8', nullable: true, unique: true, default: undefined, @@ -601,7 +604,7 @@ const testCases: TestCase[] = [ editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, - type: 'float', + type: 'float8', nullable: false }); }, @@ -612,7 +615,7 @@ const testCases: TestCase[] = [ columns: [ { name: 'col1', - type: 'double precision', + type: 'float8', nullable: false, unique: false, default: undefined, @@ -629,7 +632,7 @@ const testCases: TestCase[] = [ editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, - type: 'float', + type: 'float8', nullable: false }); }, @@ -640,7 +643,7 @@ const testCases: TestCase[] = [ columns: [ { name: 'col1', - type: 'double precision', + type: 'float8', nullable: false, unique: false, default: undefined, @@ -657,7 +660,7 @@ const testCases: TestCase[] = [ editCommand.tableAdditions.push({ name: 'table1' }); createAddition({ ...column, - type: 'float', + type: 'float8', nullable: true }); }, @@ -668,7 +671,7 @@ const testCases: TestCase[] = [ columns: [ { name: 'col1', - type: 'double precision', + type: 'float8', nullable: true, unique: false, default: undefined, @@ -700,7 +703,7 @@ const testCases: TestCase[] = [ ...column, originalName: 'col2', name: 'col3', - type: 'float' + type: 'float8' }); editCommand.columnDeletions['table1'].push('col2'); }, @@ -718,18 +721,18 @@ const testCases: TestCase[] = [ setup: () => { createAddition({ ...column, - type: 'float' + type: 'float8' }); createEdit({ ...column, - type: 'float', + type: 'float8', name: 'col5', nullable: false, unique: true }); createEdit({ ...column, - type: 'float', + type: 'float8', name: 'col6', nullable: false, unique: true @@ -741,7 +744,7 @@ const testCases: TestCase[] = [ table: 'table1', column: { name: 'col6', - type: 'double precision', + type: 'float8', nullable: false, unique: true, default: undefined, @@ -765,19 +768,19 @@ const testCases: TestCase[] = [ { add_column: { table: 'table1', + up: undefined, column: { name: 'col2', type: 'text', nullable: true, unique: false, check: { - constraint: 'LENGTH("col2") <= 2048', - name: 'table1_xata_string_length_col2' + constraint: 'OCTET_LENGTH("col2") <= 204800', + name: 'table1_xata_text_length_col2' }, - comment: '{"xata.type":"string"}', + comment: undefined, default: undefined, - references: undefined, - up: undefined + references: undefined } } } @@ -825,10 +828,10 @@ const testCases: TestCase[] = [ nullable: true, unique: false, check: { - constraint: 'LENGTH("col3") <= 2048', - name: 'table1_xata_string_length_col3' + constraint: 'OCTET_LENGTH("col3") <= 204800', + name: 'table1_xata_text_length_col3' }, - comment: '{"xata.type":"string"}', + comment: undefined, default: undefined, references: undefined }, @@ -838,10 +841,10 @@ const testCases: TestCase[] = [ nullable: true, unique: false, check: { - constraint: 'LENGTH("col8") <= 2048', - name: 'table1_xata_string_length_col8' + constraint: 'OCTET_LENGTH("col8") <= 204800', + name: 'table1_xata_text_length_col8' }, - comment: '{"xata.type":"string"}', + comment: undefined, default: undefined, references: undefined, up: undefined diff --git a/cli/src/commands/schema/edit.ts b/cli/src/commands/schema/edit.ts index 401d727cf..d1af8fecb 100644 --- a/cli/src/commands/schema/edit.ts +++ b/cli/src/commands/schema/edit.ts @@ -18,7 +18,6 @@ import { AddColumnPayload, AddTablePayload, ColumnAdditions, - ColumnData, ColumnEdits, DeleteColumnPayload, DeleteTablePayload, @@ -33,7 +32,6 @@ import { getBranchDetailsWithPgRoll, requiresUpArgument, waitForMigrationToFinish, - xataColumnTypeToPgRoll, xataColumnTypeToPgRollComment, xataColumnTypeToPgRollConstraint, xataColumnTypeToZeroValue @@ -42,21 +40,35 @@ import { const { Select, Snippet, Confirm } = enquirer as any; const xataTypes = [ - 'string', - 'int', - 'float', + 'boolean', 'bool', + 'bigint', + 'int8', + 'integer', + 'int', + 'int4', + 'smallint', + 'double precision', + 'float8', + 'real', 'text', - 'multiple', - 'link', - 'email', - 'datetime', - 'vector', + 'varchar', + 'character varying', + 'timestamptz', + 'text[]', 'json', - 'file', - 'file[]' + 'jsonb', + 'xata.xata_file', + 'xata.xata_file_array', + 'real[]' ]; +const isValidXataType = (type: string) => { + if (xataTypes.includes(type)) return true; + if (type.startsWith('character(') || type.startsWith('varchar(')) return true; + if (type.startsWith('numeric(')) return true; +}; + export default class EditSchema extends BaseCommand { static description = 'Edit the schema'; @@ -506,8 +518,7 @@ export default class EditSchema extends BaseCommand { validate: (value: string) => { if (value === undefined) return 'Type cannot be undefined'; if (emptyString(value)) return 'Type cannot be empty'; - if (!xataTypes.includes(value)) - return 'Invalid xata type. Please specify one of the following: ' + xataTypes; + if (!isValidXataType(value)) return 'Invalid xata type. Please specify one of the following: ' + xataTypes; } }, { @@ -526,32 +537,36 @@ export default class EditSchema extends BaseCommand { }, { name: 'link', - message: 'Linked table. Only required for columns that are links. Will be ignored if type is not link.', + message: + 'Linked table. Only required for columns that are text and foreign keys. Will be ignored if type is not text.', validate: (value: string, state: ValidationState) => { const columnType = state.items.find(({ name }) => name === 'type')?.input; - if ((value === undefined || emptyString(value)) && columnType === 'link') - return 'Cannot be empty string when the type is link'; + if (!(value === undefined || emptyString(value)) && columnType !== 'text') + return 'Cannot set a linked table for a non text field'; return true; } }, { name: 'vectorDimension', - message: 'Vector dimension. Only required for vector columns. Will be ignored if type is not vector.', + message: 'Vector dimension. Only required for rea[] columns. Will be ignored if type is not real[].', validate: (value: string, state: ValidationState) => { const columnType = state.items.find(({ name }) => name === 'type')?.input; - if ((value === undefined || emptyString(value)) && columnType === 'vector') - return 'Cannot be empty string when the type is vector'; + if ((value === undefined || emptyString(value)) && columnType === 'real[]') + return 'Cannot be empty string when the type is real[]'; return true; } }, { name: 'defaultPublicAccess', message: - 'Default public access. Only required for file or file[] columns. Will be ignored if type is not file or file[].', + 'Default public access. Only required for xata.xata_file or xata.xata_file_array columns. Will be ignored if type is not of that type.', validate: (value: string, state: ValidationState) => { const columnType = state.items.find(({ name }) => name === 'type')?.input; - if ((value === undefined || emptyString(value)) && (columnType === 'file' || columnType === 'file[]')) - return 'Cannot be empty string when the type is file or file[]. Please input true or false'; + if ( + (value === undefined || emptyString(value)) && + (columnType === 'xata.xata_file' || columnType === 'xata.xata_file_array') + ) + return 'Cannot be empty string when the type is xata.xata_file or xata.xata_file_array. Please input true or false'; return true; } } @@ -569,11 +584,11 @@ export default class EditSchema extends BaseCommand { ...values, originalName: column.originalName, 'file[]': - values.type === 'file[]' + values.type === 'xata.xata_file_array' ? { defaultPublicAccess: parseBoolean(values.defaultPublicAccess) ?? false } : undefined, file: - values.type === 'file' + values.type === 'xata.xata_file' ? { defaultPublicAccess: parseBoolean(values.defaultPublicAccess) ?? false } : undefined, vector: values.vectorDimension @@ -994,10 +1009,9 @@ const formatSchemaColumnToColumnData = ({ originalName: column.originalName, defaultValue: column.defaultValue ?? undefined, vector: column.vector ? { dimension: column.vector.dimension } : undefined, - link: column.type === 'link' && column.link?.table ? { table: column.link.table } : undefined, - file: column.type === 'file' ? { defaultPublicAccess: column.file?.defaultPublicAccess ?? false } : undefined, - 'file[]': - column.type === 'file[]' ? { defaultPublicAccess: column['file[]']?.defaultPublicAccess ?? false } : undefined + link: column.link?.table ? { table: column.link.table } : undefined, + file: column.file ? { defaultPublicAccess: column.file?.defaultPublicAccess ?? false } : undefined, + 'file[]': column['file[]'] ? { defaultPublicAccess: column['file[]']?.defaultPublicAccess ?? false } : undefined }; }; @@ -1011,11 +1025,10 @@ const formatColumnDataToPgroll = ( : undefined, column: { name: column.name, - type: xataColumnTypeToPgRoll(column.type as any), - references: - column.type === 'link' - ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) - : undefined, + type: column.type, + references: column.link?.table + ? generateLinkReference({ column: column.name, table: column.link?.table ?? '' }) + : undefined, default: column.defaultValue !== null && column.defaultValue !== undefined ? `'${column.defaultValue}'` : undefined, nullable: parseBoolean(String(column.nullable)) ?? true, diff --git a/cli/src/migrations/pgroll.ts b/cli/src/migrations/pgroll.ts index 358322651..57812323b 100644 --- a/cli/src/migrations/pgroll.ts +++ b/cli/src/migrations/pgroll.ts @@ -90,9 +90,9 @@ function pgRollToXataColumnType(type: string, comment?: string): string { case 'json': case 'jsonb': return 'json'; - case 'xata_file': + case 'xata.xata_file': return 'file'; - case 'xata_file_array': + case 'xata.xata_file_array': return 'file[]'; case 'real[]': return 'vector'; @@ -137,7 +137,7 @@ export async function getBranchDetailsWithPgRoll( .filter((column: any) => !['_id', '_createdat', '_updatedat', '_version'].includes(column.name)) .map((column: any) => ({ name: column.name, - type: getPgRollLink(table, column) ? 'link' : pgRollToXataColumnType(column.type, column.comment), + type: column.type, link: getPgRollLink(table, column) ? { table: getPgRollLink(table, column).referencedTable } : undefined, file: pgRollToXataColumnType(column.type) === 'file' || pgRollToXataColumnType(column.type) === 'file[]' @@ -154,59 +154,6 @@ export async function getBranchDetailsWithPgRoll( return details; } - -export const isColumnTypeUnsupported = (type: string) => { - switch (type) { - case 'bool': - case 'int': - case 'float': - case 'datetime': - case 'multiple': - case 'json': - case 'file': - case 'file[]': - case 'text': - case 'link': - case 'string': - case 'email': - case 'vector': - return false; - default: - return true; - } -}; - -export function xataColumnTypeToPgRoll(type: Column['type']): string { - if (isColumnTypeUnsupported(type)) return type; - switch (type) { - case 'bool': - return 'boolean'; - case 'int': - return 'bigint'; - case 'float': - return 'double precision'; - case 'datetime': - return 'timestamptz'; - case 'multiple': - return 'text[]'; - case 'json': - return 'jsonb'; - case 'file': - return 'xata.xata_file'; - case 'file[]': - return 'xata.xata_file_array'; - case 'text': - case 'string': - case 'email': - case 'link': - return 'text'; - case 'vector': - return 'real[]'; - default: - return 'text'; - } -} - export const exhaustiveCheck = (x: never): never => { throw new Error(`Unhandled discriminated union member: ${x}`); }; @@ -233,34 +180,21 @@ export const xataColumnTypeToPgRollConstraintName = ( columnName: string, columnType: Column['type'] ) => { - return `${tableName}_xata_${columnType}_length_${columnName}`; + return `${tableName}_xata_${ + columnType === 'real[]' ? 'vector' : columnType === 'text[]' ? 'multiple' : columnType + }_length_${columnName}`; }; export const xataColumnTypeToPgRollConstraint = (column: Column, table: string) => { const getConstraint = () => { - if (isColumnTypeUnsupported(column.type)) return undefined; - switch (column.type) { - case 'vector': - return `ARRAY_LENGTH("${column.name}", 1) = ${column.vector?.dimension}`; - case 'string': - case 'email': - return `LENGTH("${column.name}") <= 2048`; - case 'text': - return `OCTET_LENGTH("${column.name}") <= 204800`; - case 'multiple': - return `OCTET_LENGTH(ARRAY_TO_STRING("${column.name}", '')) < 65536`; - case 'link': - case 'bool': - case 'datetime': - case 'file': - case 'file[]': - case 'float': - case 'int': - case 'json': - return undefined; - default: - return undefined; + if (column.vector) { + return `ARRAY_LENGTH("${column.name}", 1) = ${column.vector?.dimension}`; + } else if (column.type === 'text') { + return `OCTET_LENGTH("${column.name}") <= 204800`; + } else if (column.type === 'text[]') { + return `OCTET_LENGTH(ARRAY_TO_STRING("${column.name}", '')) < 65536`; } + return undefined; }; const constraint = getConstraint(); @@ -274,29 +208,19 @@ export const xataColumnTypeToPgRollConstraint = (column: Column, table: string) export const xataColumnTypeToPgRollComment = (column: Column) => { const getType = () => { - switch (column.type) { - case 'vector': - return { 'xata.search.dimension': column.vector?.dimension }; - case 'link': - return { 'xata.link': column.link?.table }; - case 'string': - case 'text': - case 'email': - return { 'xata.type': column.type }; - case 'file': - return { 'xata.file.dpa': column.file?.defaultPublicAccess ?? false }; - case 'file[]': - return { 'xata.file.dpa': column['file[]']?.defaultPublicAccess ?? false }; - case 'float': - case 'int': - case 'json': - case 'multiple': - case 'bool': - case 'datetime': - return undefined; - default: - return 'text'; + if (column.link) { + return { 'xata.link': column.link?.table }; + } + if (column.vector) { + return { 'xata.search.dimension': column.vector?.dimension }; + } + if (column.file) { + return { 'xata.file.dpa': column.file?.defaultPublicAccess ?? false }; } + if (column['file[]']) { + return { 'xata.file.dpa': column['file[]']?.defaultPublicAccess ?? false }; + } + return undefined; }; const result = getType(); @@ -308,26 +232,28 @@ export const requiresUpArgument = (notNull: Column['notNull'], defaultValue: unk export function xataColumnTypeToZeroValue(type: Column['type'], defaultValue: unknown): string { if (defaultValue !== undefined && defaultValue !== null) return `${defaultValue}`; - if (isColumnTypeUnsupported(type)) return "''"; switch (type) { case 'bool': + case 'boolean': return 'false'; + case 'bigint': + case 'int8': + case 'integer': case 'int': - case 'float': + case 'int4': + case 'smallint': + case 'double precision': + case 'float8': + case 'real': return '0'; - case 'datetime': + case 'timestamptz': return 'now()'; - case 'link': - return 'null'; - case 'email': - case 'text': - case 'string': - return "''"; - case 'vector': + case 'real[]': case 'multiple': - case 'json': - case 'file': - case 'file[]': + case 'text[]': + case 'jsonb': + case 'xata.xata_file': + case 'xata.xata_file_array': return "'{}'"; default: return "''";